Вызов функции-члена load () для необъекта при автозагрузке файлов конфигурации в CodeIgniter 3.0

Я работаю в небольшом проекте с CI 3.0. Я настроил /application/config/autoload.php для файла конфигурации приложения автозагрузки следующим образом:

$autoload['config'] = array('myappcfg');

Затем в конструкторе контроллера я делаю следующее:

protected $facebookSession;

public function __construct()
{
$this->facebookSession = FacebookSession::newAppSession(
$this->config->item( 'facebook_app_id' ),
$this->config->item( 'facebook_app_secret' )
);
}

Но я получаю это уведомление:

Обнаружена ошибка PHP. Серьезность: Уведомление Сообщение: Не определено.
собственность: ShareFacebook :: $ config Имя файла:
контроллеры / ShareFacebook.php Номер строки: 16

Backtrace:
File: /var/www/html/dts/myapp/application/controllers/ShareFacebook.php
Line: 16
Function: _error_handler

File: /var/www/html/dts/myapp/index.php
Line: 292
Function: require_once

Fatal error: Call to a member function load() on a non-object in /var/www/html/dts/myapp/application/controllers/ShareFacebook.php on line 16

Кто-нибудь может сказать мне, что я делаю не так? Почему я не могу получить доступ $this->config на контроллере, если файл конфигурации загружен?

0

Решение

Вы не заявили как таковой, поэтому я предполагаю, что когда вы пытались …

protected $facebookSession;

public function __construct()
{
echo $this->config->item('facebook_app_id');
echo '<br>';
echo $this->config->item('facebook_app_secret');

//    $this->facebookSession = FacebookSession::newAppSession(
//        $this->config->item( 'facebook_app_id' ),
//        $this->config->item( 'facebook_app_secret' )
//    );
}

Вы смогли увидеть значения двух рассматриваемых элементов конфигурации!

Обновить:
Итак, у вас есть файл myappcfg.php, сохраненный в / application / config, а сам файл содержит что-то вроде …

<?php
$config['facebook_app_id'] = 'app_id';
$config['facebook_app_secret'] = 'app_secret';

Также проверьте правильность написания и регистр ваших имен файлов. Иногда это может быть так просто.

0

Другие решения

Ну, так как я нашел решение, которым я поделюсь для других, проблема в конструкторе, так как я пропустил наследование от CI_Controller. В нескольких словах этого не было:

public function __construct() {
parent::__construct();
}
0

По вопросам рекламы [email protected]