Пълното ръководство (v2) Консолни команди - Украинска Yii рамкова общност
В допълнение към богатите си възможности за изграждане на уеб приложения, Yii има и пълна поддръжка за конзолни приложения, които обикновено се използват за създаване на фонови и сервизни задачи, които поддържат сайта.
Структурата на конзолните приложения е много подобна на структурата на уеб приложение. Състои се от един или повече класове yii \ console \ Controller, които често се наричат команди в конзолна среда. Всеки контролер може да има едно или повече действия, точно като уеб контролерите.
И двата шаблона за проекти вече имат конзолно приложение. Можете да го стартирате, като извикате yii скрипта, който се намира в основната директория на вашето приложение. Ще получите списък с налични команди, ако го извикате без параметри:

Както можете да видите на екранната снимка, Yii вече има набор от команди по подразбиране:
Употреба #
Можете да започнете действие на конзолен контролер, като използвате следния синтаксис:
В горния пример се отнася до действие на контролера. Параметрите ще бъдат заменени в свойствата на класа и в аргументите на метода за действие.
Например MigrateController: actionUp () с MigrateController: $ migrationTable е настроен на миграции и ограничение от 5 миграции може да бъде наречено по следния начин:
Забележка: Когато използвате * в конзолата, не забравяйте да го поставите в кавички "*", за да избегнете интерпретирането и замяната му с всички имена на файлове в дадената директория.
Входен скрипт #
Входният скрипт за конзолното приложение е подобен на файла index.php, използван в уеб приложението. Скриптът за въвеждане на конзолата обикновено се нарича yii и се намира в основната директория на приложението. Той съдържа код, подобен на следния:
Този скрипт ще бъде създаден като част от вашето приложение; можете да го редактирате, ако имате нужда. YII_DEBUG може да бъде настроен на false, ако не е необходимо да виждате изход за отстраняване на грешки при грешка и/или ако искате да подобрите общата производителност. И в двата шаблона на приложения отстраняването на грешки е разрешено по подразбиране във входния скрипт на приложението, за да осигури по-благоприятна за разработчиците среда.
Както можете да видите от горния код, конзолното приложение използва свой собствен конфигурационен файл, наречен console.php. В този файл трябва да конфигурирате различните компоненти и свойства на приложението на конзолата.
Ако вашето уеб и конзолно приложение има много общи конфигурационни параметри, можете да отделите общата част в отделен файл и да го включите и в двата конфигурационни файла (уеб и конзола). Можете да видите пример в шаблона за проект „напреднал“.
Бакшиш: Понякога може да се наложи да стартирате конзолна команда, използвайки конфигурация, различна от тази, посочена в скрипта за въвеждане. Например можете да използвате командата yii migrate, за да актуализирате тестовата база данни, която е конфигурирана за всеки отделен тестов пакет. За да промените конфигурационния файл, просто насочете вашия конфигурационен файл чрез опцията appconfig, когато изпълнявате командата:
Приключване на командата на конзолата #
Попълването на команден аргумент е полезна функция при работа по командния ред. От версия 2.0.11, командата ./yii има автоматично попълване за Bash и ZSH.
Баш попълване #
Уверете се, че е инсталирано завършването на bash. Повечето дистрибуции ги доставят по подразбиране.