Пълното ръководство (v1) Приложения за конзоли - Украинска Yii рамкова общност
Конзолните приложения се използват главно за изпълнение на вторични или фонови задачи като генериране на код, съставяне на индекс за търсене, изпращане на имейли и др. Yii предоставя инструмент за разработване на конзолни приложения, използващи обектно-ориентиран подход. Той позволява на конзолното приложение да има достъп до ресурсите, които използва основното уеб приложение (като база данни).
Всяка конзолна задача е представена в Yii като команда. Конзолната команда е описана в клас, наследен от CConsoleCommand.
След като използвате yiic webapp за създаване на първоначален прототип на приложението, в защитени ще има два файла:
- yiic - скрипт за Linux/Unix;
- yiic.bat - скрипт за Windows.
В конзолата можете да въведете следните команди:
След въвеждане ще се покаже списък с всички налични в момента команди. По подразбиране това са командите, предоставени от Yii (т.нар системни команди) и команди, разработени за конкретни приложения (т.нар потребителски команди).
За командна помощ можете да стартирате
Командата се изпълнява в следния формат:
Създаване на екипи #
Командите на конзолата се намират в файлове на класа в папката, посочена в CConsoleApplication: commandPath. По подразбиране е защитен/команди .
Конзолният команден клас трябва да наследява от CConsoleCommand. Името на класа трябва да бъде от формата XyzCommand, където Xyz съответства на името на командата, чиято първа буква е главна. Например, команда на Sitemap трябва да използва клас SitemapCommand. Имената на командите на конзолата са чувствителни към малки и големи букви.
Съвет: Чрез конфигуриране на CConsoleApplication: commandMap можете по желание да промените реда на именуване и местоположението на командните класове.
За да създадете нова команда, трябва или да внедрите метода CConsoleCommand: run (), или едно или повече действия (ще бъдат описани по-късно).
Когато въведете конзолна команда, приложението изпълнява метода CConsoleCommand: run (). Параметрите на метода се предават съгласно следния заглавие:
където $ args са допълнителни параметри, предадени от командния ред.
В рамките на конзолна команда можете да използвате Yii: app () за достъп до екземпляр на конзолно приложение. Чрез получения екземпляр можете да получите достъп до различни компоненти като връзката с базата данни (Yii: app () -> db). Доколкото можете да разберете, това е много подобно на обикновеното уеб приложение.
Информация: От версия 1.1.1 можете да създавате глобални команди, които се използват от всички приложения. За това се дефинира променливата на средата YII_CONSOLE_COMMANDS и пътят до директорията с класовете на командите на глобалната конзола се записва към нейната стойност.
Командно действие на конзолата #
Забележка: Тази функция е достъпна от версия 1.1.5.