Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 26 ноя 2020, 21:04

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Список контроллеров
СообщениеДобавлено: 02 май 2013, 20:17 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 23 июл 2012, 21:58
Сообщения: 100
Доброго времени суток.
Можно ли как то получить список все моих контроллеров.
Средствами PHP пробежаться по каталогу где нужно могу.
Но может есть что то родное?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Список контроллеров
СообщениеДобавлено: 04 май 2013, 04:58 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Вот так, для Kohana 3.2 можно посмотреть список контролёров по умолчанию, но это не все контролёры. Т.е. в буквальном смысле данный метод нельзя использовать для получения абсолютно всех контролёров в любой системе. В принципе, можно добавить этот код для более универсального поиска. Всё зависит от задачи

Код:
<?php foreach (Route::all() as $route): ?>
    <h3><?php echo Route::name($route?></h3>
    <?php
        $array 
= (array) $route;
        foreach (
$array as $key => $value)
        {
            
$new_key substr($keystrrpos($key"\x00") + 1);
            
$array[$new_key] = $value;
            unset(
$array[$key]);
        }
    
?>
    <p>Controller:&nbsp;
        <?php foreach ($array['_defaults'] as $param => $default): ?>
            <?php if ($param == 'controller'): ?>
            <code>
                <?php echo $default ?>
            </code>
            <?php endif; ?>
        <?php endforeach; ?>
    </p>
<?php endforeach; ?>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Список контроллеров
СообщениеДобавлено: 04 май 2013, 07:42 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
Смотря для какой цели список контроллеров нужен, можно например автозагрузчик зарегистрировать еще один и сохранять в список все классы наследуемые от Controller.
Я сталкивался с подобной задачей: у меня есть папка ../classes/Controller/Page в ней и её поддиректориях располагаются контроллеры страниц-разделов приложения, нужно было получить список контроллеров и их экшенов. В итоге написал хэлпер с функцией формирования списка контроллеров страниц через проверку классов( if ($controller instanceof Controller_Page) ), файлы(и подпапки) в директории обходил рекурсивно.

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group