我对CodeIgniter比较陌生,到目前为止,我的项目完全是使用Controllers和Views创建的。然而,随着它变得越来越复杂,我发现有些功能我已经复制粘贴到多个控制器中 - 这并不理想,因为编辑它需要记住编辑所有其他控制器。
有许多我不了解的CI功能 - 模型,助手,扩展“控制器”等等。我应该在哪里寻找以实现上述目标?我想我也可以直接import()
一段代码,虽然我觉得这不是“CodeIgniter方式”。
答案 0 :(得分:4)
将所有“实用程序”功能放入“帮助程序管理器”并访问它。
答案 1 :(得分:2)
或者创建一个基本控制器,并从中扩展其他控制器。
我相信Phil Sturgeon有一个指南:http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRY
答案 2 :(得分:2)
<强> base_controller.php 强>
<?php
class Base_Controller extends CI_Controller {
function __construct()
{
parent::__construct();
}
function base_function(){
}
}
?>
<强> other_controller.php 强>
<?php
require_once('base_controller.php');
class Other_Controller extends Base_Controller{
function __construct()
{
parent::__construct();
}
function index()
{
$this->base_function();
}
}
?>