Создание дополнений и виджетов

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
sulrus
Сообщения: 20
Зарегистрирован: 2013.02.11, 18:34

Создание дополнений и виджетов

Сообщение sulrus »

Приветствую.
Подскажите, пожалуйста, как создать свой extension.

Как сделал я:
Создал файл в vendor/myproject/Subscription.php
В нем объявил class Subscription
Прописал в конфиге:

Код: Выделить всё

       
 'subscription' => [
            'class' => '\vendor\myproject\Subscription',
        ],
 
Но увы не завелось, если вы мне подскажите что куда положить и как прописать буду вам крайне признателен.
С виджетами у меня тоже не получилось, если расскажите кратенько про виджеты, также буду благодарен.

Заранее благодарю всех за ответы.
Последний раз редактировалось sulrus 2014.01.11, 16:04, всего редактировалось 1 раз.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Создание дополнений и виджетов

Сообщение samdark »

Прописали в секции Components? Класс от Component унаследовали?
sulrus
Сообщения: 20
Зарегистрирован: 2013.02.11, 18:34

Re: Создание дополнений и виджетов

Сообщение sulrus »

Хорошо, думал, что меня ткнут в какую-либо инструкцию, которую я не смог выгуглить и я уже дальше сам пойму, что делаю не так.
Рассказываю более детально:
Файл /vendor/vg/Subscription.php

Код: Выделить всё

use yii\base\Component;
class Subscription extends Component
{
    public function tst ()
    {
        return 'hello';
    }
}
 
main.php (кофиг), добавил subscription.

Код: Выделить всё

    'components' => [
        'request'=>array(
            'enableCsrfValidation'=>false,
        ),

        'subscription' => [
            'class' => 'vendor\vg\Subscription',
        ],
]
 
Пытаюсь вызвать в SiteController.php

Код: Выделить всё

    public function actionIndex()
    {
        var_dump(Yii::$app->subscription->tst());
        return $this->render('index');
    }
 
В ответ получаю:

Код: Выделить всё

Unable to find 'vendor\vg\Subscription' in file: /home/sulrus/vg/vendor/vg/Subscription.php
Последний раз редактировалось sulrus 2014.01.07, 15:24, всего редактировалось 1 раз.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Создание дополнений и виджетов

Сообщение samdark »

Файл на месте? namespace в нём прописан? Расположению файла соответствует?
sulrus
Сообщения: 20
Зарегистрирован: 2013.02.11, 18:34

Re: Создание дополнений и виджетов

Сообщение sulrus »

Sam Dark писал(а):Файл на месте? namespace в нём прописан? Расположению файла соответствует?
Спасибо, прописал namespace и все заработало.
C виджетом ситуация аналогичная, благодарю за ответы.
Закрыто