【问题标题】:Class Extending MY_Controller in "libraries" folder在“库”文件夹中扩展 MY_Controller 类
【发布时间】:2015-06-11 13:10:59
【问题描述】:

我在 application/core 文件夹中创建了一个扩展 CI_COntrollerMY_Controller 类。

现在我想要创建另一个类来扩展 MY_Controller 类,但它在 application/libraries 内部

class Myclass extends MY_Controller
{
    public function index()
    {

     }

}

但是当我加载这个类时,结果如下:

Unable to locate the specified class: Cache.php

我将 Myclass.php 保存在 application/libraries 中是否正确? 还有其他方法可以扩展 CI_Controller 吗? 谢谢codeigniter 3.0.0的新手先生

【问题讨论】:

  • 您可以包含核心文件吗? include APPPATH "core/MY_Controller.php"; 在您的库文件顶部?
  • 每当您尝试从核心控制器类扩展库时,您都会遇到非常严重的设计问题 - 这样做的目的是什么?

标签: php codeigniter codeigniter-3


【解决方案1】:

您在 application/libraries 文件夹中扩展 MY_Controller 是正确的。但是,您应该在 application/controllers 文件夹中创建 CI_Controller 的 MY_Controller 扩展。

【讨论】:

    【解决方案2】:

    没有关联控制器调用MY_Controller。您需要使用CI_Controller。您可以根据需要更改控制器名称Myclass。但是控制器文件名应该是myclass.php

    class Myclass extends MY_Controller
    {
        public function index()
        {
    
         }
    }
    

    使用示例

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    
    class Myclass extends CI_Controller
    {
        public function  __construct()
        {
            parent::__construct();
            //load libraries and model which you use inside your controller.  
    
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多