2013-03-19 1 views
1

Я создал настраиваемый конфигурационный файл config2 и автоматически загружаю его в autoload.php. В моей модели я просто использую $this->config->item('item_in_config2'), она работает хорошо. Тем не менее, в моей библиотеке PAYPAL, я пытался использовать то же самое, как это:Файл конфигурации автозагрузки codeigniter не работает в библиотеке

$this->PROXY_HOST = $this->config->item['paypal_proxy_host']; 

ошибка происходит: не определено свойство $ конф. Затем я попытался добавить parent :: __ construct(); в конструкторе библиотеки отображается ошибка сервера. Раньше я загружал config2 вручную, и он работал хорошо, но я действительно хочу автозагрузить его сейчас. есть идеи? спасибо

+0

я работать в этом раньше. Для чего вы используете второй файл конфигурации? Вероятно, он загружается перед чем-то внутри него. –

+0

Привет Devin, я использую второй файл конфигурации для настройки PayPal, Facebook и т. Д. как вы решили проблему? thx – Mario

ответ

2

Я думаю, что вы должны вызвать экземпляр CI в библиотеке:

PAYPAL библиотека конструктор:

$CI =& get_instance(); 

$proxy_host = $CI->config->item('paypal_proxy_host'); 
+0

Это работает! Спасибо! – Mario

+1

Библиотеки не имеют той же области применения, что и контроллеры или модели. Вы должны получить супер объект CI, как сказал stormdrain. См. [Использование ресурсов CodeIgniter в вашей библиотеке] (http://ellislab.com/codeigniter/user-guide/general/creating_libraries.html). Если вы хотите использовать синтаксис '$ this', вы можете делать то, что делают модели, и использовать магический метод' __get() 'для извлечения объекта CI. См. '/ System/core/Model.php'. –

 Смежные вопросы

  • Нет связанных вопросов^_^