У меня есть эти URL:
Как получить имя контроллера, имя действия из этих URL. Я новичок в CodeIgniter. Есть ли вспомогательная функция для получения этой информации
Пример:
$params = helper_function( current_url() )
Где $params
становится что-то вроде
array (
'controller' => 'system/settings',
'action' => 'edit',
'...'=>'...'
)
php
codeigniter
codeigniter-2
noname.cs
источник
источник
Вместо использования сегментов URI вы должны сделать это:
Таким образом, вы знаете, что всегда используете правильные значения, даже если вы находитесь за маршрутизированным URL-адресом, в субдомене и т. Д.
источник
modules::run('module/controller/action')
. Он просто показывает информацию маршрутизатора загруженной страницы. Есть ли способ преодолеть это?$this->router
вернет класс, в котором выполняется код, но не фактический маршрутизатор, замаскированный переопределением. Оба ответа весьма полезны в зависимости от того, что вы хотите сделать.$this->router->class
и$this->router->method
вместо нихЭти методы устарели.
Вместо этого вы можете получить доступ к свойствам.
См. Руководство пользователя codeigniter
источник
По-другому
источник
В качестве дополнения
источник
fetch_module()
вызов у меня не работает в CI 2.1.2. Не могу найти его в файле /system/router.php.Обновить
Ответ был добавлен в 2015 году, и сейчас следующие методы устарели.
Привет, вам следует использовать следующий подход
для этой цели, но для этого вам нужно удлинить крючок из,
CI_Controller
и он работает как шарм, вам не следует использовать сегменты uriисточник
Если вы используете $ this-> uri-> segment, при изменении правил перезаписи URL, совпадение имен сегментов будет потеряно.
источник
Используйте этот код где угодно в классе или библиотеках
источник
Последний сегмент URL-адреса всегда будет действием. Пожалуйста, получите вот так:
источник
// fecth class класс в контроллере $ this-> router-> fetch_method ();
// метод
источник
класс контроллера не работает ни одной функции.
поэтому я рекомендую вам использовать следующие скрипты
источник