Haladó SlimPHP oktatóanyag
Nos, úgy tűnik, hogy a Slim korábbi bejegyzésemet itt jól fogadták, ez egy fejlettebb bejegyzés. Ebben a bejegyzésben leírom, hogy hogyan használom a Slim-et a munkahelyemen, és mit találtam igazán jól működőnek.
A pattanás nagyszerű konténer, azonban az automatikus kábelezés hiányát kissé fájdalmasnak találtam, ezért inkább a PHP-DI-t használom a következőn keresztül: (http://php-di.org/doc/frameworks/slim.html ). A PHP-DI-t egy egyedi alkalmazásosztályral használom, amely így néz ki:
A di-container.php fájl nagyon egyszerű, és tartalmaz egy PHP tömböt, amely tartalmazza a projekt összes "root" függőségét. Ez általában a következőkre korlátozódik: Doctrine, Twig, Mailgun, Command Bus, Event Dipatcher, Redis. stb. Az összes "root" függőség birtokában megspórolom, hogy be kell írnom a tartományom összes vezetékkódját (ami óriási lehet. A jelenlegi projekt 250+ tartományosztályt tartalmaz). Ha különböző konfigurációival rendelkezik, amire szüksége van, akkor hozzáadhat infrastruktúrát az APP osztályához, hogy a környezettől függően különböző di-konfigurációkat töltsön be.
Ennek költsége van; teljesítmény. szóval csak vegye figyelembe, hogy átlagosan nem ingyenes, talán 5 ms-ot adunk a kéréséhez.
Minimális PHP-DI di-container.php:
A Slim-ben támogatjuk az Anonymous funkcióstílust az útvonalműveleteknél, de azt javaslom, hogy senki ne használja őket a gyártásban. Ehelyett mindig ajánlottam az embereknek az Action osztályok használatát. Paul Jones írt egy szép cikket arról, hogyan kell használni az Action osztályokat a Slim 3 Action-Domain-Responder alkalmazásban.
Miután azt mondtam, hogy amikor az emberek elkezdik használni a Slim-t és megértik a PSR-4 működését, azt javaslom, hogy mindenki használja az osztály nevét a tárolóban lévő szolgáltatások felbontásához. Erre nagy szükség van a PHP-DI használatakor, de valójában sehol sincs megírva. Az osztályállandó nagyon hatékony, különösen az alkalmazások karbantartása terén, mintha az osztályneveket áthelyeznéd vagy refaktoroznád, akkor a PHPStorm képes mindent elvégezni helyetted, és nem vesztegeti az időt a karakterláncok megváltoztatásával!
Ne feledje, hogy az Action osztályoknak végre kell hajtaniuk a __invoke ($ Request, $ Response = Response) nyilvános függvényt, és ha PHP-DI-t használunk, akkor az aláírás megváltozik, hogy tartalmazza a userId param-t! nyilvános funkció __invoke ($ userId, Request $ request, Response $ response) Ezt nagyon hasznosnak találom!
Az útvonalcsoportok kényelmi funkciók, amelyek végül URI készítők. Ez egy nagyon egyszerű módja annak, hogy a köztes szoftvert az útvonalak teljes blokkjaihoz hozzárendelje, és mentse a gépelést -> add (Middleware) mindenhol.
Úgy gondolom, hogy ez a stílus végül olvashatóbb és könnyebben nyomon követhető, ha az útvonalfájlban sok útvonalmeghatározás található.
Én személy szerint a következő struktúrát használom, de az Ön alkalmazásához nincs feltétlenül szükséges struktúra:
- config /
- sablonok /
- src /
- tesztek /
- intl /
- cil /
- nyilvános/
- naplók /
Megállapítottam, hogy könnyebb, ha egy tényleges Slim objektumot ad át, nem pedig csúfolt objektumot. A következő kód remek kiindulópont!
Ha bármilyen kérdése van, forduljon hozzám bizalommal! Megtalálhatom ezen a platformon, a Twitteren vagy a SlimPHP-n (Slack Channel/IRC Channel)
- 6 étrend-kiegészítő, amelyet minden cukorbetegnek szednie kell - Következő fejlett gyógyszer
- Blood Balance Advanced Formula Review - Valóban működik, vagy átverés
- Haladó egyéni edzés AIT - Izmos állóképesség - Fitness VIP
- Advanced Healthcare - Kiropraktor Torontóban, ON, Kanada, lézeres akupunktúrás fogyókúrás rendszer
- Haladó Gyógyítás; Fájdalomcsillapító Központ, LLC - Chiropractor Union, NJ, USA súlycsökkenés haladó