我正在使用jquery datatable插件,它位于我的Codeigniter应用程序之外。数据表php编辑器使用命名空间。
我必须在codeigniter控制器中导入所有编辑器类文件。因此,我必须将所有文件和类内部提取到" / assets / datatable / extensions / Editor / php"进入我新创建的控制器文件。
控制器文件代码,
// trying to import all files in this directory
$path = $_SERVER['DOCUMENT_ROOT'] . '/datatables/extensions/Editor/php';
//set_include_path(get_include_path() . PATH_SEPARATOR . $path);
ini_set('include_path', get_include_path() . PATH_SEPARATOR . $path);
Editor::inst($db, 'contactus', 'id')
->fields(
Field::inst('Position')
->validator('Validate::numeric', array('empty' => false)), Field::inst('Question')
->validator('Validate::notEmpty'), Field::inst('Answer')
->validator('Validate::notEmpty')
)
->process($_POST)
->json();
两者" set_include_path"和" ini_set"不适合我的情况。它返回以下错误
致命错误:班级'编辑'在第50行的/var/www/html//application/controllers/ajax.php中找不到。
请建议同样的。
答案 0 :(得分:0)
这对我来说总是有用的:
require_once($path);
而不是ini_set()。还要确保路径确实正确。您可以使用相对路径(相对于index.php)。所以你会得到类似$path = './application/libraries/custom/autoload.php';
的东西。
(我不能将此作为评论发布)