У меня есть один контроллер с именем home.php
, в котором есть функция с именем podetails
. Я хочу вызвать эту функцию в другом контроллере user.php
.
Можно ли это сделать? Я прочитал около HMVC
в CI, но я хочу знать, можно ли обойтись без использования hmvc?Как вызвать функцию одного контроллера в другом контроллере в codeigniter
ответ
Для продлить контроллер, пожалуйста, либо следуйте этому tutorial, либо см. код ниже.
различия между private/public/protected
сделать файл в папке /application/core/
имени MY_Controller.php
В этом файле есть некоторый код, как
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Controller extends CI_Controller {
protected $data = Array(); //protected variables goes here its declaration
function __construct() {
parent::__construct();
$this->output->enable_profiler(FALSE); // I keep this here so I dont have to manualy edit each controller to see profiler or not
$this->load->model('some_model'); //this can be also done in autoload...
//load helpers and everything here like form_helper etc
}
protected function protectedOne() {
}
public function publicOne() {
}
private function _privateOne() {
}
protected function render($view_file) {
$this->load->view('header_view');
if ($this->_is_admin()) $this->load->view('admin_menu_view');
$this->load->view($view_file . '_view', $this->data); //note all my view files are named <name>_view.php
$this->load->view('footer_view');
}
private function _isAdmin() {
return TRUE;
}
}
и теперь в любой из ваших существующих контроллеры просто редактируют 1 или 2 й линии, где
class <controller_name> extends MY_Controller {
и вы сделали
также отметить, что все переменные, которые предназначены для использования в целях в этой переменной (array) $this->data
пример некоторого контроллера, расширенной MY_Controller
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class About extends MY_Controller {
public function __construct() {
parent::__construct();
}
public function index() {
$this->data['today'] = date('Y-m-d'); //in view it will be $today;
$this->render('page/about_us'); //calling common function declared in MY_Controller
}
}
Спасибо, это намного лучше :) – user2936213
Хорошее решение. благодаря – user2899728
написать podetails() как функция в вспомогательном файле.
затем загрузите этот помощник в оба контроллера.
в контроллере вы просто звоните podetails()
предполагают:
--controller 1--
function podetails()
{
podetails(); // will call function in helper ;
}
--controller 2--
function podetails()
{
podetails(); // will call function in helper ;
}
- 1. Как вызвать функцию контроллера в другом контроллере в codeigniter
- 2. codeigniter как вызвать функцию, которая находится в другом контроллере
- 3. AngularJS как использовать функцию от одного контроллера в другом контроллере
- 4. Как вызвать функцию javascript в контроллере codeigniter?
- 5. Как вызвать функцию, определенную в другом контроллере?
- 6. Как вызвать функцию контроллера codeigniter из вида
- 7. Как вызвать функцию в другом контроллере в angularjs
- 8. Как вызвать функцию одного компонента в другом
- 9. Codeigniter как вызвать функцию контроллера через JQuery
- 10. Как вызвать один метод контроллера в другом контроллере с RedirectAttributes
- 11. Как вызвать функцию в контроллере laravel из представления codeigniter?
- 12. Opencart - в контроллере, как вызвать функцию с другого контроллера
- 13. Как вызвать функцию в контроллере из вида в CodeIgniter?
- 14. как вызвать функцию в другом контроллере в воспламенителе кода?
- 15. Как вызвать функцию одного контроллера с другого контроллера в angularjs?
- 16. Как вызвать один массив контроллера в другом контроллере
- 17. Как вызвать проверку модели в другом контроллере?
- 18. Перенаправление на функцию в другом контроллере администратора с одного контроллера администратора в magento
- 19. Функция контроллера вызова в другом контроллере
- 20. Как вызвать функцию внутри одного контроллера?
- 21. Как вызвать функцию javascript в указателе контроллера в codeigniter?
- 22. Вызов одной функции контроллера в другом контроллере
- 23. Как вызвать функцию в контроллере с другого контроллера?
- 24. Как вызвать функцию в контроллере с другого контроллера AngularJS
- 25. Как я могу вызвать функцию в контроллере со стороны контроллера
- 26. Можно ли вызвать методы с одного контроллера на другом в Codeigniter?
- 27. Как использовать функцию модели в контроллере codeigniter
- 28. Codeigniter: нужно вызвать функцию контроллера из окна
- 29. Как вызвать функцию alert() javascript в CodeIgniter
- 30. Как вызвать функцию контроллера в другом файле php - codigniter
объясните пример и используйте –
Я объяснил это очень четко. Пожалуйста, прочитайте вопрос еще раз. – user2936213
Укажите, что вам нужно? –