I have some modules which come with their own url rules so I push them using a class which is loaded. The class tries to set it’s own rules for the module being loaded but it doesn’t work:
Yii::app()->urlManager->rules = array_merge ( Yii::app()->urlManager->rules, array (
'aspinner/install' => 'aspinner/as_main/install'
) );
If I put the same rule in the main config file the it works. Any idea why?
Here’s a print after setting the rule on the fly from within the class:
CUrlManager Object
(
[rules] => Array
(
[aspinner/install] => aspinner/as_main/install
)
[urlSuffix] => .html
[showScriptName] => 1
[appendParams] => 1
[routeVar] => r
[caseSensitive] => 1
[cacheID] => cache
[useStrictParsing] =>
[_urlFormat:CUrlManager:private] => path
[_rules:CUrlManager:private] => Array
(
)
[_baseUrl:CUrlManager:private] =>
[behaviors] => Array
(
)
[_initialized:CApplicationComponent:private] => 1
[_e:CComponent:private] =>
[_m:CComponent:private] =>
)
As you can see, the rule is added but not counted as my application fails to use it.