代码点火器:核心/覆盖,缺少负载/加载器类



好的,我遇到了这个问题,谷歌没有帮助,我认为这是因为我的问题太简单了。

我正在尝试load任何东西或与load->database();联系,但它不起作用。

这是我带有注释的代码,它将解释一切。

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class CI_Lang {
    function __construct() {
        # Show all files included
        print_r(get_included_files()); // There is nothing like loader or load .php
        # Check for loader file
        if( ! class_exists('loader') || ! class_exists('load')) {
            echo 'no load '; // is being shown,
        }
        # Check Database connection before
        if (isset($this->db->conn_id) && is_resource($this->db->conn_id)) {
            echo 'database is loaded and conected ';
        } else {
            echo 'no connection '; // is being shown,
        }
        # Get Database connection
        $this->load->library('database');
        /*
            Script dies on line above with error:
            Fatal error: Call to a member function library() on a non-object in 
            application/core/Lang.php on line 38
        */
        $this->load->database();
        # Check Database connection after
        if (isset($this->db->conn_id) && is_resource($this->db->conn_id)) {
            echo 'database is loaded and conected ';
        } else {
            echo 'no connection ';
        }

        # Register as loaded
        log_message('debug', 'JK_Lang Class initialized');
    }
}

此脚本名为 Lang.php 它位于application/core文件夹中。它应该覆盖主 Lang 类,确实如此。问题是,它似乎都是孤独的。如何在此处包含其他方法?

我已经修改了autoload.php并在那里设置:

$autoload['libraries'] = array(
    # We need Loader
    'loader',
    # Connect with DB
    'database',
    # Session Start
    'session'
);

现在我已经没有想法了,请帮忙吗?

问题是,我没有声明代码点火器实例。所以有两种方法可以修复它。

首先,我可以做一个这样的函数:

function __construct() {
    $this->run();
}
function run() {
    /* All my __construct code here */
}

或者当我实际解决我的问题时,我创建了一个库,为了获得使用 codeigniter 所需的所有东西,我创建了一个实例:

class L {
    var $CI;
    function __construct() {
        $this->CI =& get_instance();
        $this->CI->load->database();
        $this->test();
    }
    function test() {
        $query = $this->CI->db->query("SELECT * FROM `stackoverflow.com`");
    }
}

最新更新