【问题标题】:getting error when I try to use Drivers in CodeIgniter当我尝试在 CodeIgniter 中使用驱动程序时出现错误
【发布时间】:2021-09-20 19:57:05
【问题描述】:

我正在尝试在 codeigniter 中创建自定义驱动程序,但出现错误。

这是文件层次结构:

 /libraries
    /libraries/Taker
        /libraries/Taker/Taker.php
        /libraries/Taker/drivers
            /libraries/Taker/drivers/Taker_test.php

libraries/Taker/Taker.php 中的代码:

   class Taker extends CI_Driver_Library  {
        function hello() {
            echo 123;
        }
    }

库/Taker/drivers/Taker_test.php 中的代码:

class Taker_test extends CI_Driver {
    function world() {
        echo 123;
    }
}

控制器中的代码:

$this->load->driver('taker');
$this->taker->hello(); //work
$this->taker->test->world(); //eror here

我在控制器中遇到的错误:

Invalid driver requested: Taker_test

有什么建议吗? 谢谢

【问题讨论】:

    标签: php codeigniter codeigniter-3


    【解决方案1】:

    解决方案是我必须使用 $this->valid_drivers:

    class Taker extends CI_Driver_Library  {
        
        function __construct() {
              $this->valid_drivers = ['test'];
         }
        
        
        function hello() {
            echo 123;
        }
    }
    

    【讨论】:

    • 谢谢@roev - 这对我帮助很大。我有 '$this->valid_drivers' 行,但使用完整的驱动程序名称('Taker_test' 而不仅仅是 'test')调用我的驱动程序。
    猜你喜欢
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    • 2013-10-06
    • 2015-04-16
    相关资源
    最近更新 更多