Просмотров: 1 179

Получить значение текущего контроллера или метода в codeigniter.

Проблема:

Иногда, при написании приложений на фреймворке codeigniter нужно делать какие-либо действия в зависимости от того, какой контроллер или метод используется в данный момент.

Предположим, что пользователь перешел по адресу.

http://test.ru/controller_name/method_name

В данном случае у него будет выполнен метод method_name, который находится внутри controller_name.

У меня возникла задача, когда пользователь переходит именно по этому адресу, нужно было скрывать определенный пункт меню, но для этого нужно было получить имя метода и контроллера, на который происходит переход.

Сейчас я хочу продемонстрировать вам способ, который позволяет решить эту проблему.

Решение:

Итак, для того, чтобы получить имя контроллера, к которому был выполнен переход, нужно воспользоваться следующей функцией:

echo $this->router->fetch_class();

Как результат, на экран будет выведено значение controller_name.

Когда необходимо получить значение метода, нужно воспользоваться следующей конструкцией:

echo $this->router->fetch_method();

В результате, получим method_name.

Все довольно просто, надеюсь это значительно упростит разработку ваших приложений. Успехов!