ПредишенСледващото

Конзолата за приложения се използват главно за извършване на вторични или фонови задачи, като например генериране на код, индекса за търсене на съставяне, изпращане на електронна поща и т.н. Yii предоставя инструмент за развитие на конзолно приложение, придържайки се към обектно-ориентиран подход. Тя позволява конзола заявление за достъп до ресурси, които се използват от голяма уеб-базирано приложение (например, база данни).

1. Общ преглед ¶

Тя представлява всяка задача конзола в Yii в екип. А конзола команда е описан в клас, който наследява от CConsoleCommand.

След като използвате уеб приложение yiic за създаване на първоначалните заявления прототипи ще бъдат защитени в два файла:

  • yiic - скрипт за Linux / Unix;
  • yiic.bat - скрипт за Windows.

В конзолата можете да въведете следните команди:

След като сте въвели ще бъде показан списък на всички налични в момента команди. По подразбиране, тази команда, предоставена от Yii (така наречените системни команди) и команди, предназначен за специфични приложения (наречени потребителски команди).

За да получите помощ на терена, можете да стартирате

За да стартирате команда, в следния формат:

2. Създаване на екипи ¶

Конзолата команди са във файл клас в папката, посочена в CConsoleApplication :: commandPath. Подразбиране е защитена / команди.

А конзола команда клас трябва да бъде наследен от CConsoleCommand. името на класа трябва да бъде на XyzCommand. където Xyz се отнася до името на командата, първата буква на която е показан в горния случай. Например, екипът трябва да използвате класа на сайта SitemapCommand. Имена конзолни команди буквите е от значение.

Съвет: Като конфигуриране CConsoleApplication :: commandMap. Можете да промените реда на именуване на команди и класове място, ако желаете.

За да създадете нова команда, трябва или да приложи метод CConsoleCommand :: план (). или едно или повече действия (да бъдат описани по-долу).

Когато влезете в конзолата команда приложение стартира метод CConsoleCommand :: план (). Параметрите на метода се прехвърлят в съответствие със следната заглавие:

където $ аргументи - допълнителни параметри, подавани от командния ред.

Вътре в конзолата команда за достъп до потребителския модел на конзолата приложение, можете да използвате Yii :: приложения (на). След полученото копие може да се отнася до различни компоненти, като например свързване към база данни (Yii :: приложения (на) -> db). Доколкото може да се съди, това е много подобен на конвенционалните уеб приложение.

Инфо: Започвайки от версия 1.1.1, можете да създадете глобални команди, които се използват от всички приложения. За това определено YII_CONSOLE_COMMANDS променлива среда и стойността му е писано на пътя до директорията с глобалните класове на конзолни команди.

3. Действие ¶ А конзола команда

Забележка: Тази функция е достъпна от версия 1.1.5.

в командата конзола често се налага да се работи с различни параметри. Някои от тях може да се изисква, а други не. Може да се наложи да приложи подкоманда да изпълняват различни подзадачи. Всичко е опростено чрез използване на действия.

Действие конзола команда - Метод в своя клас. Името на метода трябва да е във формат actionXyz на. където Xyz се отнася до името на действието и първата буква, намалената ставка в главни букви. Например, метод actionIndex определя действие наречен индекс.

За да стартирате конкретно действие, използвайте следния формат:

Допълнителна име-стойност двойки предават на стъпките на метода, наречени параметри. Xyz опция стойност съответства на метода на $ ЮЯ действие. Например, ако ние определяме следната команда клас:

Тогава всички от следните конзолни команди ще предизвика actionIndex ( "Новини", 5):

Ако опцията не е уточнено (тоест, вместо --type --type = News), съответният параметър на действие ще бъде настроен да е вярно.

Забележка: Алтернативни формати определят опции като --type новини или -t новини не се поддържат.

Ако декларирате параметър като масив, може да отнеме масив от стойности:

За да се премине масив от стойности, трябва да посочите същата възможност няколко пъти:

Командите горе, ще стартират actionIndex (масив ( "Новини", "член")).

От версия 1.1.6, Yii позволява анонимни параметри за действие и глобални възможности.

Анонимни параметри - е опции на командния ред не са опции. Например, индексът на отбора yiic карта на сайта --limit = 5 новини случва анонимен параметър със стойността на новини. Кръстен параметър (по желание) лимит е настроен да се равнява на 5.

За да използвате анонимни параметри, действия трябва да се опише параметър, наречен $ аргументи:

В масива $ аргументи ще съдържат всички налични анонимни стойности на параметрите.

Глобалните опции - командния ред параметри на които са общи за всички дейности на екипа. Например, може да се наложи да се обединят с множество действия, за да имате обща опция многословно. Разбира се, че е възможно да се определи параметър $ многословно за всяко действие, но това е по-добре да попитам неговия екип класа обществено имущество, което автоматично ще направи световната многословно вариант:

В горния код ви позволява да използвате опцията многословно:

4. Върнете код ¶

Забележка: Възможността да се уточни кода връщане ще се появи в командата конзола във версия 1.1.11.

Стартира автоматично конзолни команди, като Cron или непрекъсната сървъра интеграция, е важно да се знае, дали изпълнението на екипа е завършена с успех или провал. Точно за тази цел и са предназначени кодове на връщане.

Тези кодове са цели числа 0-254 (този интервал е даден в PHP), където 0 е върната в случай на успех, както и всички други стойности се използват за евентуални грешки.

Както в метод пробег (). и действията на екипа, можете да се върнат цяло число. Тя ще се използва като кодът на връщане.

Ако нещо конзола команда не се връща, заявлението се прекратява с кода 0.

5. Създаване на конзолно приложение ¶

По подразбиране, ако е създаден с помощта на приложението yiic уеб приложение. конфигурация на приложението конзола съхраняват в защитена / конфигурационния / console.php. Тъй като конфигурацията на уеб приложения, този файл е PHP-скрипт връща масив с начални стойности на екземпляр на заявлението за конзола. Това означава, че в този файл можете да настроите всяка обществена CConsoleApplication собственост.

Тъй като команди на конзолата често са създадени за подпомагане на уеб-базирани приложения, който искате да използвате едни и същи ресурси (като свързвания към база данни), които се използват в уеб приложение. Това може да стане чрез конфигуриране на съответните компоненти в конфигурацията на конзола приложение:

Форматът на конфигурацията е много подобен на този, използван в уеб приложение, така че CConsoleApplication CWebApplication и наследи същия базов клас.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!