Routing a helyszínen azt jelenti, php

Beszéljünk érdekes segédprogram, amely előbb-utóbb hasznos lesz bármely web-developer`u.

Kezdjük az útvonal (eng "Routing" -. Routing). Azonnal felmerül a kérdés, hogy miért van szüksége helyszínen routing, ha mielőtt a jó munka és elégedett? Ez egyszerű. Ha azt szeretnénk, rugalmasabb rendszert és csökkenti az időt beállítani / állítanod az oldalon, akkor szükség útvonal. Ezen felül, a központi terület kezeléséhez egyszerűsíteni fogja a kódot.

Amikor magam élveztem a szokásos switch-case routing és azt hitte, kényelmes (sőt, még egy ilyen útvonal sokkal jobb, mint a semmi).

Minden, ami volt, a régi php működik, ha nincs semmi támpontot a PFSZ. Ez a fajta rendszer nem kap egy nagyon rugalmas, mert voltak nehézségek adatátviteli modulok, a kód nagyon nehézkes, ezért meg kellett tartani a logikát routing, és akkor megütött - miért ne tegyük a következőket:

  • 1) nélkül routing kódot helyezni egy külön fájlban (ez szabadon szerkesztheti a fájlt közvetlenül az admin panel)
  • 2) tegye a logika egy külön osztályt, amely részt vesz a termelés tartalmi oldalak

Ebben a cikkben, sokan nem találtunk egyetlen újdonság, de nem próbálja meg az újításra, én csak azt szeretném, hogy nyissa ki a szemét, akik még alszanak, és kevésbé kényelmes módon :)

Úgy döntött, hogy „miért?”, Lépni a „hogyan”.

Az első lépés, hogy meg kell tennie, hogy hozzon létre egy kényelmes és praktikus routing -, hogy írjon az alábbi kódot. htaccess:

Ez a kód átirányítja a feldolgozás valamennyi oldal az index. php, amely megadja nekünk a lehetőséget, hogy kezelésének egyszerűsítése tartalmat. Hogy növelje a megértést a Tanács felhívta a figyelmet egy cikket DarkKemper`a

Most, hogy van egy átirányítás, lépni létrehozása router fájlt. I XML formátumú, de ez nem különösebben fontos, a lényeg, hogy jól érzik magukat.

  • packageName1. ClassName / MethodName
  • packageName2. ClassName / MethodName
  • packageName3. ClassName / MethodName

Ez elég egyszerű: egy fájl-router, akkor adja meg a az egyéni URL-t, valamint a statikus része az oldalt. A példában modulokat is a fejléc az oldalon, mint én, hogy nem változik. Megjegyzem, hogy amellett, hogy a modulok, akkor adja meg a beállításokat, átadott paraméterek, a szabályokat ... Általában semmit.

Az utolsó és legfontosabb lépés - írja Router osztály, amely kezeli a teljes útvonal.

Először azt kell elemezni xml-file:

  • private static függvény értelmezési ($ configPath)
  • visszaút simplexml_load_file ($ configPath);
  • >

parse () metódus lesz az út a config (használhatja nemcsak routing) és visszatér egy SimpleXML objektumot.

Most akkor lehet alkalmazni, hogy minden, vagy a beállításokat az alábbiak szerint: $ XML> header-> modulok ...

  • public static függvény GetContent ($ configPath)
  • $ Tartalom = '';
  • $ Router = self :: parse ($ configPath);
  • foreach ($ router $ oldal)
  • if (preg_match (
  • '^ #'. $ Lap-> uri. '$ #'
  • . str_replace ($ _SERVER [ 'QUERY_STRING'], '', $ _SERVER [ 'REQUEST_URI'])
  • . $ uriParts
  • )
  • )
  • if (. empty ($ lap-> modulok-> modul))
  • foreach ($ lap-> modulok-> modul $ modul)
  • $ PageModules = $ modul;
  • // Modul :: Load () foglalkozik letöltést csomagok .
  • $ Tartalom. = Modul :: Load ($ modul, $ uriParts [1] $ uriParts [1]).
  • >
  • >
  • >
  • >
  • // beállításfájlunkban hoztam létre a csoportot „page404”, amely feldolgozásra kerül, hacsak modulok ehhez az oldalhoz
  • if (empty ($ pageModules))
  • foreach ($ router-> page404-> modulok-> modul $ modul)
  • $ PageModules [] = $ modul;
  • $ Tartalom. = Modul :: Load ($ modul);
  • >
  • >
  • return $ tartalom;
  • >

Így kezdje el, feldolgozni xml fájlt, majd feldolgozza a reguláris kifejezés húr ... .

Ha egyezést találunk az URL-jét az aktuális oldalt, a plug-inek szerepel a router fájlt. Ha nem találja - a plug-in 404-es oldalak.

Nos, ez minden. Semmi bonyolult itt nincs jelen.

Következtetések vonhatók le az alábbiak szerint:

  • + A rendszer nagyon egyszerű,
  • + Könnyedén és gyorsan módosíthatja a lapok és a szekciók felismerhetetlenségig,
  • + Hála a reguláris kifejezések, akkor könnyen kapcsolatot modulok (tudjuk átadni nekik paraméterek).
  • - Ha a router fájl nagy, nem a gyorsítótárban, akkor jobb, ha nem működik.

Routing a helyszínen a PHP

Amikor magam élveztem a szokásos switch-case routing és azt hitte, kényelmes (sőt, még egy ilyen útvonal sokkal jobb, mint a semmi).

DOM kiterjesztést Prototype

A legtöbb DOM kiterjesztés tartalmazza az elem objektum. Módszerek és további másolt elem objektum a használhatóság.

Javítása blog jQuery

Gondold azt, hogy a harmadik része a „szimbiózis jQuery és a WordPress”.

JSR 292 felülvizsgálata Ballot

Ez a specifikáció célja, hogy megoldja a problémát a nyelv dinamikus gépelés, mint a PHP, Perl, Python, miközben azokat végrehajtó Java platformon (értsd JVM).

Kapcsolódó cikkek