gpt4 book ai didi

php - 如何在 codeigniter 中调用另一个 Controller 中的一个 Controller 函数

转载 作者:可可西里 更新时间:2023-10-31 23:09:21 25 4
gpt4 key购买 nike

我有一个名为 home.php 的 Controller ,其中有一个名为 podetails 的函数。我想在另一个 Controller user.php 中调用这个函数。
有可能这样做吗?我已经阅读了 CI 中的 HMVC,但我想知道是否可以不使用 hmvc?

最佳答案

要扩展 Controller ,请遵循此 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;

}

}

现在在您现有的任何 Controller 中只需编辑第一行或第二行

class <controller_name> extends MY_Controller {

完成了

还请注意,所有要在 View 中使用的变量都在这个变量 (array) $this->data

MY_Controller 扩展的一些 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
}

}

关于php - 如何在 codeigniter 中调用另一个 Controller 中的一个 Controller 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21110197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com