#6325: Component options specified in AppController supercede those in child controller ---------------------------------------------+------------------------------ Reporter: neilcrookes | Type: Bug Status: new | Priority: Medium Milestone: 1.2.x.x | Component: Components Version: 1.2 Final | Severity: Normal Keywords: component initialise options | Php_version: n/a Cake_version: | ---------------------------------------------+------------------------------ == What I did: ==
Included MyComponent in AppController::components array with no options. Also included the same component, but with some options specified in MyController::components. Checked the options param sent to MyComponent::initialise method. == What I expected: == The options I specified in MyController. == What actually happened: == An empty array (assuming because I didn't specify any options when including it in AppController) == Reason: == Line 396 of cake/libs/controller/controller.php: {{{ $this->{$var} = Set::merge($normal, $app); }}} Set::merge overwrites elements in 1st param with those in 2nd param with same key. I.e. It overwrites options specified at specific controller level, with those specified at AppController level == Suggestion: == Change line 396 of cake/libs/controller/controller.php to: {{{ $this->{$var} = Set::merge($app, $normal); }}} I.e. reverse order of Set::merge params so component settings set at specific controller level override those at App level instead of vice versa. -- Ticket URL: <https://trac.cakephp.org/ticket/6325> CakePHP : The Rapid Development Framework for PHP <https://trac.cakephp.org/> Cake is a rapid development framework for PHP which uses commonly known design patterns like ActiveRecord, Association Data Mapping, Front Controller and MVC. Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "tickets cakephp" group. To post to this group, send email to tickets-cakephp@googlegroups.com To unsubscribe from this group, send email to tickets-cakephp+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/tickets-cakephp?hl=en -~----------~----~----~----~------~----~------~--~---