codeigniter - 在 Application 目录外调用 CodeIgniter 的 Controller 方法

标签 codeigniter

我有一个目录“Store”,它位于 CodeIgniter 的应用程序目录之外。这里 我需要从“Store”目录调用一个 Controller 方法。

是否可以从应用程序目录之外的目录调用 Controller 方法?

谢谢。

最佳答案

据我所知,使用 $this->load(即 Loader 类),你不能。即使您直接通过以下方式包含 like:

application/controllers/test.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

require('/absolute/path/to/dummy.php');

class Test extends CI_Controller {
    public function handle(){
        $d = new Dummy();
        $d->handle();
    }
}

dummy.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Dummy extends CI_Controller {
    public function handle(){
        // do something here
    }
}

它(包括)不会工作,因为您特别禁止直接访问!但是,如果您不禁止,那么,您的 Controller 代码很容易被利用你不会有问题


因此,如果另一个 codeigniter 项目的另一个 Controller 部分是使用命令行,则可以采用一种方法。

dummy.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access 

class Test extends CI_Controller {
    public function handle(){
        $d = new Dummy();
        $d->handle();
    }
}

application/controllers/test.php

public function handle(){
    exec("cd /absolute/path/to/dummyproject; php index.php dummy handle;");
}

您还可以进一步了解如何传递命令行参数。

关于codeigniter - 在 Application 目录外调用 CodeIgniter 的 Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12257538/

相关文章:

mysql - CodeIgniter update_batch 不替换以前的数据,下一个更新值将以逗号分隔作为增量

php - 在 PhpWord 中创建表格

php - 左连接不返回左表代码点火器中的所有行

php - SQL Join问题,如果第二个表为空则返回null

php - Codeigniter Halogy cms 安装设置

javascript - 使用 AJAX 根据 Codeigniter 中的下拉值获取数据库值

php - 正确处理代码点火器中存储在类中的错误

php - 使用分页 Codeigniter 时过滤数据

php - 解释 $CI =& get_instance();

php - CodeIgniter 使用数据库中的后数组值验证表单