#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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/tickets-cakephp?hl=en
-~----------~----~----~----~------~----~------~--~---