В конфиге:
Код: Выделить всё
Yii::setPathOfAlias('common', ... );
return CMap::mergeArray(
array(
'modules' => array(
'some' => array(
'class' => '\common\modules\some\SomeModule',
)
)
....
Как уже говорил есть такое protected/module/some/ - этот обычный модуль без namespace.
Есть также по пути 'class' => '\common\modules\some\SomeModule', - модуль с namespace.
Вот его код:
Код: Выделить всё
namespace common\modules\some;
class SomeModule extends \CWebModule
{
public $controllerNamespace = '\some\controllers';
}
Теперь фокус-покус:
test/index.php?r=some выводит 123123123123 Потому что в protected/module/some/controllers/defaultController ->actionIndex echo 123123123;
Т.е. 'class' => '\common\modules\some\SomeModule', как бы не сработал. Ладно. Удаляем из папки protected/module/some/ файл SomeModule.php получаем Alias "composer.ComposerModule" is invalid. Make sure it points to an existing PHP file and the file is readable....ну понятно не нашёл, а чё он 'class' => '\common\modules\some\SomeModule' опять игнорировал. Ладно. Удаляем или переименовываем папку protected/module/some в someTrololo, переходим по test/index.php?r=some выползает "ОХОХО я попал туда куди и хотел", оно реализовано в '\common\modules\some\controllers/defaultController ->actionIndex echo "ОХОХО ...";
Фокус, который получается только у меня или баг?