Konzolos alkalmazás fejlett Yii 2, ügyességi

Amellett, hogy a gazdag lehetőségeket kínál a webes alkalmazások, Yii is teljes mértékben támogatja a konzolos alkalmazások általánosan használt, hogy egy háttér és a teljesítmény célok, amelyek támogatják az oldalon.

A szerkezet a konzolos alkalmazások nagyon hasonlít a szerkezet egy webes alkalmazás. Ez áll egy vagy több osztály [[Yii \ konzol \ Controller]], mely gyakran nevezik a parancsot a konzolban környezetben. Minden vezérlő egy vagy több műveletet, valamint a web vezérlők.

Mindkét projekt sablon már van egy konzol alkalmazás. Kezdheti meg hívja a script Yii található, amely a fő könyvtárban az alkalmazás. Ön kap egy listát a rendelkezésre álló parancsokat, ha lehívja paraméterek nélkül:

Mint látható a képen, Yii már megadta az alapértelmezett meghatározott parancsok:

használata

Meg lehet kezdeni a működését a konzol kontroller segítségével a következő parancsot:

A fenti példában, Arra utal, hogy az intézkedés a vezérlő. A paraméterek helyettesíthetőek az osztály tulajdonságait, és érvek a cselekvési módszer.

Például az [[Yii \ konzol \ vezérlők \ MigrateController :: actionUp () | MigrateController :: actionUp ()]] a [[Yii \ konzol \ vezérlők \ MigrateController :: $ migrationTable | MigrateController :: $ migrationTable]] telepítési migrációk és egy határ 5 migráció oka lehet a következő:

Megjegyzés. Amikor a konzol *. ne felejtsük el, hogy tegye idézőjelbe „*”, hogy elkerüljék annak értelmezésére és cserélje ki az összes fájl neve ebben a könyvtárban.

Entry script

Input script konzolos alkalmazás - például az index.php fájlt. használják a webes alkalmazás. Input script konzol, szokták Yii és található a fő könyvtárban a kérelmet. Olyan kódot tartalmaz, a következőhöz hasonló:

Ez a szkript jön létre részeként az alkalmazás; lehet szerkeszteni, ha szüksége van rá. YII_DEBUG lehet állítani, hogy hamis, ha nem szeretné, hogy a hibakeresés kimenetét hiba esetén, és / vagy ha azt szeretné, hogy javítsa a teljesítményét. Mindkét sablonok, az alkalmazás belépési script hibakeresés alapértelmezés szerint engedélyezett alkalmazások, hogy barátságosabb környezetet a fejlesztő.

Mint látható a kódot eredményezett említettük, a konzolos alkalmazás saját konfigurációs fájl, melynek neve console.php. Ebben a fájlban van, hogy beállítsa a különböző komponensei a kérelmet, és a tulajdonságait a konzol alkalmazás.

Ha a web és a konzol alkalmazás van egy csomó általános konfigurációs beállításokat, akkor válassza ki az általános rész egy külön fájlban, és tartalmazza azt a két konfigurációs fájl (web és a konzol). Láthatjuk egy példa a „fejlett” projekt sablon.

Tipp: Néha szükség lehet futtatni a konzol parancsot egy konfigurációs eltér a bejegyzésben meghatározott forgatókönyvet. Például, akkor használja a Yii vándorolnak paranccsal frissítse a teszt adatbázist, amely be van állítva minden vizsgálatsorozat. Ha módosítani szeretné a konfigurációs fájl, egyszerűen adja meg a konfigurációs fájl segítségével lehetőség appconfig a csapat induláskor:

Yii --appconfig = path / to / config.php.

Hozza létre saját parancsokat

A konzol kontroller és fellépés

A konzol parancs osztály van definiálva, mint a vezérlő kiterjed [[Yii \ konzol \ Controller]]. A vezérlő osztályban, akkor határozzon meg egy vagy több műveletet, amelyek megfelelnek az al-vezérlő parancsokat. Minden intézkedés kódot írsz, hogy végre a megfelelő parancsot az al-feladatokat.

Amikor futtatja a parancsot, meg kell adnia az elérési utat a cselekvésre. Például vándorolnak / létrehozására útvonal részparancsok, amely megfelel a módszer [[Yii \ konzol \ vezérlők \ MigrateController :: actionCreate () | MigrateController :: actionCreate ()]]. Ha az útvonal javasolt a hívás parancsot, nem jelzi a művelet azonosító lesz okozta az alapértelmezett művelet (valamint a webes alkalmazás).

Ahhoz, hogy felülírja az [[Yii \ konzol \ Controller :: options ()]] módszer, akkor adja meg a beállításokat, hogy rendelkezésre állnak a konzol parancs (vezérlő / actionID). A módszer listáját adja vissza public class attribútum. Amikor futtatja a parancsot, akkor adja meg az értéket a lehetőségek felhasználásával --OptionName = Beállításérték szintaxis. Ez a rendszer összekapcsolja az attribútum Beállításérték Beállításnév vezérlő osztályban.

Ha az alapértelmezett beállítás - ez egy tömb, ha ezt az opciót, akkor a parancs, az érték kerül átalakításra tömb bontással egy részét vesszővel elválasztott karakterláncot.

Amellett, hogy a lehetőségek, a csapat kaphat érveket. Érvek paraméterként adja át a módszer megfelelő lépcsők kért részparancsot. Az első paraméter megfelel az első érv, a második, illetve a második, és így tovább. Ha az adott érveket hívás esetén a parancsot nem lesz elég a paramétereket kap az alap, ha azok meg vannak határozva. Ha az alapértelmezett értékek nincsenek meghatározva, és nem adta át, a csapat teljes hibával.

Segítségével adja meg milyen tömb. azt jelzi, hogy az érv kell kezelni, mint egy tömb. A tömb által generált elválasztó vonal bemenet vesszővel.

A következő példa bemutatja, hogyan kell leírni érvek:

A visszatérési kód

Fejlesztése során egy konzolos kérelmet elfogadják, hogy használja a visszatérési kódot. Elfogadott kódja 0 azt jelenti, hogy a parancs sikeresen végrehajtásra. Ha a parancs visszaadott értéke nullánál nagyobb, akkor hibát jelez. Számos, amit jelez, ha hibát is fel lehetne használni, hogy megtalálják a részletes információkat a hibát. Például az 1 jelezheti ismeretlen hiba, és minden kód fent tartható fenn konkrét hibák: beviteli hibák, sérült fájlok, és még valami.

Ahhoz, hogy a konzol parancsot visszatérési kódot, egyszerűen csak vissza egy egész a kontroller akció módszer:

Vannak előre definiált állandók, amelyek segítségével:

  • Controller :: EXIT_CODE_NORMAL egy 0 értékű;
  • Controller :: EXIT_CODE_ERROR értékben 1.

Egy jó gyakorlat, hogy meghatározza jelentéssel bírnak az adatkezelő állandó használata esetén több típusú hibák.

Formázás és szín

Yii konzol támogatja formázását kimenet, amely automatikusan lebomlik nem gazdag, ha támogatja a terminál, ahol a parancs lefut.

A következtetés egyszerű formázott szálakat. Itt van, hogyan lehet vinni félkövér szöveg:

Ha meg kell gyűjteni egy sor dinamikusan ötvözi a különböző stílusokat, a legjobb, ha használni ansiFormat:

Kapcsolódó cikkek