Hogyan hozzunk létre egy olyan keretet, php

A korábbi bejegyzéseket, az általunk kifejlesztett egy minimális struktúráját keret. Ebben a cikkben, mi mozog egy kicsit fényes - hozzá egy egyszerű téma bootstrap'om, menüket és egy közelebbi pillantást a munkát egy sablont, és a router (útválasztó oldalon).

Az utolsó cikk, hoztunk létre egy router. amely segítségével a logika a reguláris kifejezések felismeri a bejövő SEF kapcsolat és irányítja a kívánt vezérlő és a módszerrel.

Ie Az ilyen vonal

Router teszi tömb

Mi nem utoljára, hogy írjon egy példát az ilyen megoldásokat. Ahhoz, hogy orvosolja a helyzetet, de előtte módosítani fogja a router.

Visszük egy sor szabályok az útválasztó konfigurációs fájl keretet. Ez a tömb töltötte be a fejlesztők, akik írni a honlapjainkon keretet. Ezért kell a lehető leginkább elérhetővé.

Is, akkor láthatjuk, hogy mi változott a jobb oldalon a tömbben.

Végezze el a router kódot. majd elemzi a teljesítményét.

Először töltse tömb értékei umolchantyu kimenő adatok, amelyek vesszük a mi config.php. Aztán feldolgozni a bemeneti $ path jelenlétére kap változók. Ha igen, akkor csak meg kell hozzá, hogy a tömb kimenetet. parse_url - osztja az URL-t alkatrészeket. Az egyik ilyen komponens egy lekérdezés. Ez minden, ami az URL-ben a kérdőjel után

Ez a kulcs = érték paramétersztringre viszont értelmezi a függvény parse_str

C lekérdezési karakterlánc része megértette, most az a reguláris kifejezések szabályai, válassza az utat a szükséges adatokat.

A 12-es vonal, kiderül, végig a szabályokat a config. 13 check - e egy másik szabály egyezik. Ha igen, akkor hogy az eredmények tömb és felváltva helyettesíti az elemeit - a jobb oldalon a szabályt.

Általában dolgozott '([a-Z0-9 + _ \ -] +) / ([a-Z0-9 + _ \ -] +) / ([0-9] +)' => „$ vezérlő / $ akció / $ id”,

Ezután egy sor alkalmazásának eredményeit, hogy a bal oldalon a bemeneti karakterlánc / user / profile / 15 lesz egy tömb

Vizsgálva ez a tömb kezdve a második elem helyébe a jobb oldalon a szabály $ vezérlő / $ intézkedés / $ id kulcsok $ ([a-z] +)

Ie on line 14, akkor minden alkalommal cserélni a jobb oldali a szabály folyamatosan változik, így

Első pillantásra - ez értelmetlen cselekmények. Mi vonal üres bemeneti / user / profile / 15 és hogy a kilépési szabályok

De ez csak első pillantásra. A kimeneten már szabványosították az URI, amely felrobban alkalmazó üzemeltetés, megkapjuk az első eleme a vezérlő neve, a második - a módszer reszelt - id

Az egyértelműség kedvéért hozzá a tömb végéhez szabályok a config.php rendszerint

Ennek eredményeként ez a szabály, a router lyubuy kérés html oldal (például /about.html kontroller nélkül és módszer), küldje el az oldalt vezérlő és módszer olvasni, és az id paraméter sorban találhatóak

Mi ebben a példában, hogy hozzon létre egy blogot alapulnak keretet. Először azonban, hogy javítsa a sablon

sablonozó

Kezdeni, hogy egy sablont a keret, akkor potrbuetsya ró html oldalt. Például, hogy egy ingyenes téma a butsrapa oldalon

Nyomja meg a ctrl + u a böngésző és egyszerűen másolja az összes forráskód viws / main.php fájl - ez egy sablon. De ez még mindig le kell zárni. Az összes törlése kapcsolat stílusok és szkriptek HTML kódba. Mi fog kapcsolódni a szükséges szkriptek php. Ez ad némi bizalmat, hogy minden template mindig lesz egy sor a keret fájlokat, függetlenül attól, hogy azok coder használt elrendezés.

Stílusok és szkriptek a projektben gyökér mappa létrehozásához. Nevükön eszközök. és almappákat - css - a stílus, js - szkriptek, és a képek - a képek. Ebben az esetben az utolsó kívánt mappát, hogy csak azokat a képeket, amelyek részt vesznek a design a helyén, nem pedig a tölteléket is. A töltelékhez jobb kiosztani egy külön könyvtárba - media / képeket a honlapon gyökér.

Átlépünk a bootstrap friss és a legújabb jquery. Tedd őket egy mappába eszközök / js / lib /. Más stílusok szálak, hogy le kell magad.

Minden stílus és a szkriptek a saját mappák, de hogyan kell csatlakoztatni őket. A mi sablon motor nem rendelkezik az ilyen gyakorlatokat. Meg kell írni. Add hozzá, mi lesz a tökéletes / classes / controller.php fájlt. Add az alábbi módszerek

  • privát funkció addAsset ($ link, ahol $ = 'fej', $ eszköz = 'script', $ type = 'URL')
  • public function addScript ($ link, ahol $ = 'fej')
  • public function addStyleSheet ($ link, $ ahol = 'fej')
  • public function addScriptDeclaration ($ link, $ ahol = 'fej')
  • public function addStyleSheetDeclaration ($ link, $ ahol = 'fej')

Meg kell írni a kódot addAsset módszer, minden más módszer - kihívás addAsset különböző paraméterekkel, és még inkább a kényelem.

Add az osztályban a következő mezőbe

Adatait tárolja az összes csatlakoztatott stílusok és scriptek. Következő addAsset kód

$ Hash - számítják csak azért, hogy ne csatlakozzon az oldalon az azonos script kétszer. $ Hol - az a hely, ahol csatlakozni szkripteket. előtt vagy azt megelőzően azaz elején vagy végén a dokumentumot.

További eljárások annak érdekében,

AddAsset egyetlen módszer tölti egy tömböt $ adatvagyon, de az adatok még mindig alkalmazni kell. Ezért átírni a render módot. Korábban ő következtetni a main.php. Ez nem teljesen helyes. Meglesz az erre a célra egy másik módszer renderPage

Módszer származó adatok felhasználásával az eszközök, előállítja a szükséges script tag kapcsolat (vagy a távoli fájl vagy inline), és hozzáteszi, hogy a kívánt helyre a dokumentumban

A módszert nevezzük az eljárás elindításához App osztály indítás után és tesztelése a vezérlő.

A start módszer az ideális / classes / App.php

Itt szoktunk újonnan router priisvoiv Munkájának eredményeként uri területen. Most bárhol a keret, akkor megkapja az alábbi információkat

  • App :: gi () -> uri-> vezérlő - a vezérlő neve
  • App :: gi () -> uri-> intézkedés - a név a vezérlő módszer
  • App :: gi () -> uri-> id - egy azonosító

És minden egyéb keresett változók is dostapny keresztül ezen a területen. Ezt fel lehet használni például, hogy meghatározzuk az aktív menüpontot.

Következő az ismerős kombináció ob_start - hívja fel a vezérlő módszer - ob_get_clean, és a szabályozó kimenetét továbbítjuk a renderPage

Még akkor bizonyára észrevette a kapcsolatot néhány szkriptek és stílusok vonalakon 10 19. Ezek a külső stílusok és scriptek, amely csatlakoztatható config.php. És hogy ez több, csak a kényelem a keret. Például tudjuk, hogy a csatlakozás és a jquery bootstrap „bezáró” config.php és lesznek kötve bármelyik témát bármelyik oldal által generált keret. Kényelmes, nem?!

Mivel a mappák szerkezete, amit a szervezett magasabb config.php mi hozzá a következő két tömböt

Mivel a keret már tett egy tisztességes megjelenés, akkor tudunk közszemlére. Most, az ő munkája is szóba jöhetnek ide

vezérlő oldal

Amikor adunk még egy szabály, hogy a router, utaltam a vezérlő oldal és annak módja olvasni. Elég egyszerű, akkor hozza létre az application / vezérlők / PageController.php mappa

ott hozzon létre egy másik mappát views / oldal / oldalak. és azt a kívánt oldalakat. Például about.php

A forráskód a végleges keret, és töltse

Hogyan lehet fejleszteni a keret

Kapcsolódó cikkek