Чтобы создать компонент или модуль в Yii, вам понадобится выполнить несколько шагов.
- Создайте директорию с именем вашего компонента или модуля в директории
protected/components
илиprotected/modules
соответственно. Например, если вы хотите создать компонент с именемMyComponent
, создайте директориюprotected/components/MyComponent
.
- В созданной директории создайте файл с именем
MyComponent.php
. Этот файл будет содержать код вашего компонента или модуля.
- В файле
MyComponent.php
объявите классMyComponent
в пространстве именapplication.components
, наследующийся от соответствующего родительского класса, например,CComponent
для компонента илиCWebModule
для модуля:
namespace applicationcomponents; use CComponent; class MyComponent extends CComponent { // Ваш код компонента или модуля }
- Внутри класса
MyComponent
вы можете добавить свойства, методы и события в соответствии с вашими потребностями. Например, для компонента вы можете добавить публичное свойство и метод:
public $myProperty; public function myMethod() { // Ваш код метода }
- Чтобы использовать ваш компонент или модуль, вам нужно зарегистрировать его в конфигурационном файле
protected/config/main.php
. Добавьте следующий код в массив компонентов в разделеcomponents
или модулей в разделеmodules
, в зависимости от того, что вы создаете:
'components' => [ 'myComponent' => [ 'class' => 'application.components.MyComponent', // Дополнительные настройки компонента ], ],
или
'modules' => [ 'myModule' => [ 'class' => 'application.modules.MyModule', // Дополнительные настройки модуля ], ],
- Теперь ваш компонент или модуль доступны для использования в вашем приложении. Вы можете получить доступ к компоненту или модулю, используя следующий код:
$myComponent = Yii::app()->myComponent; // Для компонента $myModule = Yii::app()->getModule('myModule'); // Для модуля
Вы можете использовать ваш компонент или модуль в контроллерах, представлениях и других частях вашего приложения, в зависимости от их назначения.
Обратите внимание, что вы также можете создать компонент или модуль, используя команду генерации кода yiic
.