请求的驱动程序无效

时间:2015-02-10 22:34:54

标签: php codeigniter codeigniter-3

我刚刚将我的项目从CodeIgniter 2升级到CodeIgniter 3以获得驱动程序自动加载功能。我正在尝试创建一个自定义驱动程序,但遗憾的是文档没有给我执行它的步骤。

我的驱动程序在CodeIgniter 3中运行良好,但它没有在2.我已根据the documentation更新了所有类和文件名。

我有以下文件结构:

/libraries
    /Testdriver
         /drivers
             Testdriver_test.php
         Testdriver.php

Testdriver.php的内容:

class Testdriver extends CI_Driver_Library
{
     function __construct()
     {
          $this->valid_drivers = array('testdriver_test'); //Still not sure why this must be here, but the documentation doesn't explain me anything
     }

     function test()
     {
          echo "Hello world from parent driver";
     }
}

Testdriver_test.php的内容:

class Testdriver_test extends CI_Driver
{
     public function index()
     {
         echo "Hello world!";
     }
 }

自动加载驱动程序,并在pages.php中调用该函数:

  $this->testdriver->test(); //This works, I can successfully call the method from the parent driver
  $this->testdriver->test->index(); //This doesn't work, gives me the "Invalid driver requested" error

为什么这在CodeIgniter 2中工作而不再存在?我该如何解决?

1 个答案:

答案 0 :(得分:1)

您的所有文件名和类名都可以。错误的是在$ valid_drivers数组中。你有这个:

$this->valid_drivers = array('testdriver_test');

你应该输入:

$this->valid_drivers = array('test');