Если вам необходимо вызывать один и тот же метод или класс из разных частей кода, то лучше всего для этих целей подойдет работа с компонентом (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();
Комментарии
Кратко и понятно, причем все статьи что я здесь видел, продолжайте в том же духе
ОтветитьКратко и понятно
ОтветитьВсе хорошо, только компоненты вы не сможете использовать в, скажем, commands, так как там нет Yii::$app.
Ответить