Пълното ръководство (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.