Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Одинаковые классы в разных модулях
http://forum.kohanaframework.su/viewtopic.php?f=32&t=789
Страница 1 из 1

Автор:  AmberLEX [ 13 янв 2014, 15:08 ]
Заголовок сообщения:  Одинаковые классы в разных модулях

Например есть 2 модуля, в них 2 одинаковых названия класса
modules/test1/classes/Controller/Cat.php
modules/test2/classes/Controller/Cat.php
Код:
class Controller_Cat extends Controller
{
    public function action_view()
    {
        $this->response->body('test1 '.__METHOD__);
    }
}
 
Код:
Route::set('test1', 'test1')
    ->defaults(array(
        'controller' => 'cat',
        'action'     => 'view',
    ));
 
Аналогично второй

cms.dev/test1
cms.dev/test2
Будет всегда срабатывать первый контроллер, хоть и сработают разные роуты.

Как с этим бороться в кохане не влаживая в подкаталог контроллер?
modules/test1/classes/Controller/Test1/Cat.php
modules/test2/classes/Controller/Test2/Cat.php
Толку тогда с таких модулей, они не влияют на облать видимости никак.
И вообще выходит если у меня где-то в application или modules встретятся контроллеры с одинаковыми названиями (Controller/Category.php), то ерунда выйдет.
Т.е. если есть модули в которых есть категории, то хотелось бы называть их Category не выдумывая другое имя или не влаживая их в подкаталог, чтоб не конфликтовали.

Автор:  Rush64 [ 24 янв 2014, 20:34 ]
Заголовок сообщения:  Re: Одинаковые классы в разных модулях

для таких вещей умные люди придумали namespace'ы, но в кохана нет их поддержки

Автор:  AmberLEX [ 24 янв 2014, 20:38 ]
Заголовок сообщения:  Re: Одинаковые классы в разных модулях

Я поэтому и спросил
>Как с этим бороться в кохане не влаживая в подкаталог контроллер?

Автор:  Rush64 [ 30 янв 2014, 18:33 ]
Заголовок сообщения:  Re: Одинаковые классы в разных модулях

никак, разные названия классов, я других способов не вижу

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/