Különleges témák konzolos alkalmazások, a végleges útmutató Yii Yii php keret

Konzolos alkalmazások elsősorban elvégzésére szekunder vagy háttér feladatokat, mint a kód generálás, keresési index összeállítását, e-mail küldés, stb Yii egy eszköz a fejlődő konzolos alkalmazások, azért, hogy az objektum-orientált megközelítés. Ez lehetővé teszi, hogy a konzolos alkalmazás található erőforrások által használt nagy web-alapú alkalmazás (pl adatbázis).







1. Áttekintés ¶

Ez jelenti, hogy minden konzolon feladat Yii, mint egy csapat. A konzol parancs le van írva egy osztályt, amely örökli a CConsoleCommand.

Használat után webapp yiic létrehozni egy kezdeti prototípus alkalmazások kell védeni két fájlt:

  • yiic - script Linux / Unix;
  • yiic.bat - script for Windows.

A konzol akkor adja ki a következő parancsokat:

Miután belépett lesz látható az összes rendelkezésre álló parancsok. Alapértelmezésben ez a parancs által Yii (az úgynevezett rendszer parancsok) és parancsok, speciális használatra (ún felhasználói parancsok).

Ha segítségre van a pályán, akkor fuss

Futtatni egy parancsot a következő formátumban:

2. Készítsen csapatok ¶

Konzol parancsok egy osztályban fájlt a megadott mappába CConsoleApplication :: commandPath. Alapértelmezett védett / parancsokat.

A konzol parancsot osztályt kell örökölt CConsoleCommand. Az osztály neve legyen XyzCommand. ahol az xyz utal, hogy a parancs nevét, az első levél, amelyet bemutatunk nagybetűvel. Például, a csapat kell használni a sitemap SitemapCommand osztályban. Nevek konzolparancsok kis- és nagybetűket.

Tipp: konfigurálásával CConsoleApplication :: commandMap. Meg lehet változtatni a sorrendjét elnevezési parancsok és osztályok helyét, ha szükséges.

Ahhoz, hogy hozzon létre egy új parancsot, akkor vagy végrehajtja CConsoleCommand :: run () metódust. vagy egy vagy több műveletet (amelyet az alábbiakban ismertetünk).

Ha belép egy konzol parancsot alkalmazás elindítja CConsoleCommand :: run () metódust. Az eljárás paraméterei megfelelően átadott a következő címmel:

ahol a $ args - további paraméterek át a parancssorból.

Bent a konzol parancsot a konzol alkalmazás Például használhatja Yii :: app (). A kapott másolat utalnak különböző elemek, mint például az adatbázis-kapcsolat (Yii :: app () -> db). Amennyire lehet megítélni, ez nagyon hasonlít a hagyományos webes alkalmazás.

Info: Kezdve 1.1.1-es verzió, akkor létrehozhat globális parancs által használt összes alkalmazást. Ehhez határozzuk YII_CONSOLE_COMMANDS környezeti változót és annak értékét van írva, hogy a könyvtár elérési útját a globális osztályok konzol parancsokat.







3. Action ¶ A konzolparancs

Megjegyzés: Ez a funkció már elérhető verzió óta 1.1.5.

A konzol parancsot gyakran kell dolgozni a különböző paramétereket. Némelyik lehet szükség, és néhány nem. Az is előfordulhat, hogy végre alparancs elvégzésére különféle részfeladatok. Minden egyszerűsíteni intézkedéseket.

Action konzol parancsot - módszer a kategóriájában. Az eljárás neve legyen az űrlap actionXyz. ahol az xyz utal, hogy a művelet nevét és az első levél, a csökkent nagybetűs. Például, actionIndex eljárást határoz meg egy akció nevű indexet.

Futtatni egy adott intézkedés, használja a következő formátumot:

További név-érték párok át az eljárási lépéseket a nevesített paraméterek. Xyz opció értéke megegyezik a $ xyz akció módszer. Például, ha meghatározzuk a következő parancsot osztály:

Ezután az összes alábbi konzolparancsok okoz actionIndex (News ", 5):

Ha az opció nincs megadva (azaz, ahelyett --type --type = News), a megfelelő paramétere intézkedésekre lesz állítva.

Megjegyzés: alternatív formátumok meg beállításokat, például --type News vagy -t News nem támogatja.

Ha kijelentik paraméter egy tömb, akkor vegye tömb értékek:

Át egy tömb értékeit, meg kell adnia a többször ugyanarra a beállításra:

A fenti parancsokkal, indít actionIndex (array ( 'Hírek', 'cikk')).

Mivel verzió 1.1.6, Yii a névtelen akció paramétereit és a globális lehetőségeket.

Anonymous paraméterek - egy parancssori opciók nem választhatók. Például a csapat yiic webhelytérképindex --limit = 5 News fordul névtelen paraméter értékét News. Nevezett paraméter (opcionális) határa van beállítva, hogy egyenlő-e 5.

Ahhoz, hogy használni névtelen paramétereket, cselekedni kell leírni egy paraméter neve $ args:

Az array $ args tartalmazni fogja az összes rendelkezésre álló névtelen paraméterek értékeit.

Globális beállítások - parancssori paraméterek, amelyek közösek az összes csapat munkájában. Például előfordulhat, hogy szükség van a csapat több cselekvések, hogy egy általános lehetőség bőbeszédű. Természetesen lehetőség van meghatározni a paraméter $ bőbeszédű az egyes intézkedésekre, de jobb megkérdezni csapata osztályú nyilvános tulajdonsága, hogy automatikusan, hogy a globális bőbeszédű opció:

A fenti kód lehetővé teszi, hogy a lehetőséget bőbeszédű:

4. Visszatérés kód ¶

Megjegyzés: Az a képesség, hogy adja meg a visszatérési kód jelenik meg a konzol parancsot verzióban 1.1.11.

Automatikusan indul konzol parancsok, például a cron, vagy egy folyamatos integrációs szerver, fontos tudni, hogy a teljesítményt a csapat kiegészült a siker vagy kudarc. Csak erre a célra szánt visszatérési kódokat.

Ezek a kódok egész 0-254 (ebben az intervallumban van megadva PHP), ahol a 0 vissza siker esetén, és az összes többi értéket alkalmazunk az esetleges hibákat.

Mivel a módszer Run (). és az intézkedések a csapat, akkor vissza egy egész szám. Meg fogják használni, mint a visszatérési kódot.

Ha valami konzol parancs nem tér vissza, a kérelem végződik a 0 kódot.

5. Állítsa be a konzol alkalmazás ¶

Alapértelmezésben, ha az alkalmazás segítségével létrehozott yiic webapp. konfiguráció a konzolos alkalmazás tárolt a védett / config / console.php. Mivel a konfiguráció a webes alkalmazások, ez a fájl egy PHP script visszaadja egy tömb kezdeti értékeket a példány a konzol alkalmazás. Ez azt jelenti, hogy ez a fájl beállíthatjuk bármely nyilvános CConsoleApplication tulajdon.

Mivel a konzol parancsokat gyakran támogatására létrehozott web-alapú alkalmazások, szeretné használni ugyanazt a források (például adatbázis-kapcsolatokat), amelyek egy webes alkalmazás. Ez megtehető konfigurálásával a megfelelő komponenseket a konzol alkalmazás konfiguráció:

A formátum a konfiguráció nagyon hasonló a használt a webes alkalmazás, így CConsoleApplication CWebApplication és öröklik ugyanazt alap osztály.




Kapcsolódó cikkek