Yii2, створюємо і використовуємо компоненти (components)

4 вересня 2024 р. 158 egor

Приклад створення та роботи з власними компонентами в Yii2.

Якщо вам необхідно викликати один і той самий метод або клас з різних частин коду, то найкраще для цих цілей підійде робота з компонентом (component)

Створення свого компонента (component) у Yii2

Для початку створимо папку "components" у корені вашого додатка (app/components (для basic) або app/frontend|backend|common/components для advanced). Далі створюємо клас для компонента з власним простором імен та успадкуванням від класу Component. Наприклад створимо компонент MyComponent (app/components/MyComponent.php):

<?php

namespace app\components;

use yii\base\Component;

class MyComponent extends Component {

    public function mySuperMethod() {
        //ваш код
        //return ;
    }

}

Далі необхідно додати компонент у файл конфігурацій app/config/web.php:

<?php

$params = require(__DIR__ . '/params.php');
$config = [
    //...

    'components' => [
        // ...
        'mycomponent' => [
            'class' => 'app\components\MyComponent'
        ]
    ],

   //...

Тепер можемо перейти до використання компонента в коді програми.

Використання свого компонента (component) в Yii2

Після того як компонент було створено, його можна використовувати за допомогою всього одного рядка коду:

Yii::$app->mycomponent->mySuperMethod();