Можно ли вызывать методы с одного контроллера на другой в Codeigniter? - PullRequest
0 голосов
/ 01 января 2012

Если я на контроллере "signin", могу ли я выполнить метод get_user_info(), который находится на контроллере "user"?Если так, какой будет синтаксис для этого?

Ответы [ 2 ]

1 голос
/ 01 января 2012

вы смотрели на HMVC?
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home

это будет выглядеть примерно как modules :: run ('module / controller / method', $ params, $ ...);

1 голос
/ 01 января 2012

Я не говорю, что нельзя сделать, однако на самом деле не должно быть .

Что-то вроде этого - именно то, что библиотека предназначена для.

Создайте библиотеку, которая обрабатывает такие функции, как get_user_info(), а затем загрузите и вызовите эту библиотеку в пределах того контроллера, к которому необходим доступ.

Вы можетевсе еще есть контроллер с именем user и библиотека с именем user (хотя это может сбить с толку).

Ознакомьтесь с руководством CI для получения информации о как создать библиотеку .

* Редактировать *

Поскольку люди упоминали, что модели могут также использоваться для обеспечения возможности использования функций в нескольких местах.

Лично мне нравится хранить в моделях только бизнес-логику (операции CRUD ) и любые логические операции, которые должны выполняться в нескольких местах, для которых я создаю библиотеку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...