2015-01-19 1 views
0

Недавно я решил изучить php, и я открыл yii framework. На первый взгляд казалось очень легко работать с ним, но теперь я пытаюсь настроить мое веб-приложение для установки расширения для работы с Enums. Я загрузил это расширение со своего веб-сайта, и я поместил его в папку расширений. Проблема в том, что я не могу вызвать подклассы, которые я создал в своем коде. Я создал несколько классов, которые простираются от этого суперкласса (расширение).Как установить расширение yii, чтобы он был доступен для всего моего веб-приложения?

Какую конфигурацию я должен сделать, чтобы сделать этот класс расширения, доступным для моего кода веб-приложения?

Как я уже сказал, я просто поместил этот класс расширения в свою папку расширений, и я просто создаю их, внутри методов контроллера. Когда я запускаю код, который я вижу то же самое сообщение об ошибке независимо от того, любая конфигурация, я делаю:

включают (xxx.php): не удалось не удалось открыть поток: Нет такого файла или каталога

Если кто-то хочет, чтобы узнать больше об этом расширении, это страница, которая показывает некоторую информацию об этом.

http://www.yiiframework.com/extension/enum/

ответ

0

в config/main.php вы должны добавить свои данные расширения в массиве компонентов, что-то вроде:

return array(
     // 'preload'=>array('xyz',...), 
     'components'=>array(
      'xyz'=>array(
       'class'=>'ext.xyz.XyzClass', 
       'property1'=>'value1', 
       'property2'=>'value2', 
      ), 
      // other component configurations 
     ), 

); 

где xyz является расширением

или просто поместить его в папку расширений и импортируйте его Yii::import('application.extensions.extensionname.*');

+0

Вы также можете добавить его в глобальный импорт в config ''import => ['alias. *'] '', чтобы избежать импорта в каждом представлении. –

+0

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

+0

Я даже попытался поместить одну строку в раздел импорта, поэтому он может быть доступен для всего моего веб-приложения для использования, но я все еще был с той же ошибкой: ** include (xxx.php): не удалось открыть поток : Данный файл или каталог отсутствует**. Я все еще не понимаю. Почему приложение жалуется на экземпляр этого класса расширения, если он является абстрактным классом? Если бы я сделал правильную конфигурацию, приложение не должно было жаловаться на проблему создания абстрактного класса, потому что я создал подклассы из него, поэтому я думал, что он никогда не будет жаловаться на этот класс. – TuLePe

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

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