我在我的框架中使用CI,并且我不知道此代码的错误是什么
defined('BASEPATH') OR exit('No direct script access allowed');
class RajaOngkir extends CI_Controller {
private $api_key, $base_url;
public function __construct() {
// Pastikan bahwa PHP mendukung cURL
if (!$this->is_curl_exists()) {
log_message('error', 'cURL Class - PHP was not built with cURL enabled. Rebuild PHP with --with-curl to use cURL.');
}
$this->_ci=&get_instance();
var_dump($this->_ci);
$this->_ci->load->config('rajaongkir', TRUE);
// Pastikan Anda sudah memasukkan API Key di application/config/rajaongkir.php
if ($this->_ci->config->item('api_key', 'rajaongkir') == "") {
log_message("error", "Harap masukkan API KEY Anda di config.");
} else {
$this->api_key = $this->_ci->config->item('api_key', 'rajaongkir');
$this->base_url = $this->_ci->config->item('api_base_url', 'rajaongkir');
}
}
当我使用网络浏览器访问它时,它给我错误
Severity: Notice
Message: Trying to get property of non-object
Filename: controllers/rajaongkir.php
Line Number: 22
Fatal error: Call to a member function config() on a non-object in C:\xampp\htdocs\Koen_CI\application\controllers\rajaongkir.php on line 22
我认为错误是我称之为 - > _ci =& get_instance。因为它返回空值。
如何解决?
答案 0 :(得分:0)
您需要在类中定义_ci变量:
private $api_key, $base_url;
要
private $api_key, $base_url, $_ci;
但不要这样做。正如评论中提到的其他人一样,如果您在控制器中,只需直接使用$this->something
而不是$this->_ci
。您只应在CI结构之外使用get_instance()
(例如,在帮助文件中)。