[转载]Codeigniter 扩展核心类

在项目中我们通常需要一个自己的基类控制器,一般命名为 BaseController,在其他框架如 Laravel 框架中,我们只需要新建一个 BaseController 让他继承项目初始的基类就可以了,示例

 但在 Codeigniter 中,这种方式是行不通的,在 CI 中有另外一套扩展核心类库的方法, CI_Controller 默认不属于原生类库,它是一个系统类库,是一个核心类,不能使用创建类库中的扩展原生类库的方法去扩展,而是应该使用创建核心系统类中的扩展核心类的方法去扩展这个类.将需要扩展的核心类放入目录 application/core下,示例

 代码示例

         
        /**
         * Created by PhpStorm.
         * User: nwei
         * Date: 2018/10/9
         * Time: 10:11
         *
         *    .--,       .--,
         *   ( (  \.---./  ) )
         *    '.__/o   o\__.'
         *       {=  ^  =}
         *        >  -  <
         *       /       \
         *      //       \\
         *     //|   .   |\\
         *     "'\       /'"_.-~^`'-.
         *        \  _  /--'         `
         *      ___)( )(___
         *     (((__) (__)))    高山仰止,景行行止.虽不能至,心向往之.
         *
         */
        class MY_Controller extends CI_Controller {
     
            /**
             * MY_Controller constructor.
             */
            public function __construct() {
                parent::__construct();
            }
        }

 扩展的核心类会自动加载,不需要手动加载,使用示例

         
        /**
         * Created by PhpStorm.
         * User: nwei
         * Date: 2018/9/27
         * Time: 15:28
         *
         *    .--,       .--,
         *   ( (  \.---./  ) )
         *    '.__/o   o\__.'
         *       {=  ^  =}
         *        >  -  <
         *       /       \
         *      //       \\
         *     //|   .   |\\
         *     "'\       /'"_.-~^`'-.
         *        \  _  /--'         `
         *      ___)( )(___
         *     (((__) (__)))    高山仰止,景行行止.虽不能至,心向往之.
         *
         */
        class CustomHttp extends MY_Controller {
     
            public function index() {
                echo "customhttp--index";
            }
        }
---------------------  
作者:卩杉  
来源:CSDN  
原文:https://blog.csdn.net/xiaobinqt/article/details/82995540  
 

你可能感兴趣的:(转载,php)