Php sablonok - ez nem nehéz!

Úgy döntöttem, hogy egy kis lendületet adok a programozási készségeimnek a PHP-ben. előbb-utóbb el kell kezdeni, különösen azért, mert már hosszú ideje ismerem a PHP alapjait. Elvileg nem tapasztaltam nehézséget a PHP-vel való együttműködés során, meglepő módon, de még az első alkalommal, amikor sikerült telepíteni a Windows alatt. bár szó szerint 3-4 évvel ezelőtt problémám volt ezzel :)

Először is, úgy döntöttem, hogy kitalálok egy kerékpárt (saját, háromkerekű, pici és egy zseblámpa :). ), és többé-kevésbé kényelmesebbé teszi a PHP-kód elválasztását a tervezéstől. Valójában ezt a felülvizsgálat tárgyalja.

A sablon egy közönséges HTML-fájl, de a szokásos html címkék mellett. tartalmaznia kell speciális címkéket a tartalomhoz. Úgy döntöttem, ezt a következő stílusban teszem meg:

Ablak címe

Üdvözlünk!

Ez egy egyszerű sablon példája

Normál HTML. semmi különös.

Mint láthatja, ez egy egyszerű HTML-kód, de a 9. sorban van egy "címke" . ez a hely jelenik meg a megadott tartalom miatt. Itt szeretném megjegyezni, hogy a szöveg elvileg bármi lehet a nagyobb kényelem érdekében, kötelezővé tettem a jelenlétet . Más szavakkal, a tartalomblokk meghatározásának szintaxisa a következő:

Emiatt egy sablonban a tartalom tetszőleges számú blokkja lehet.

Sablonkezelési osztály

Menjünk át egy olyan osztályra, amely kezeli az egészet. Az ötlet szerint az osztálynak a következő paramétereket kell tennie:

Ez minimális, de természetesen a paraméterek száma is könnyedén növelhető.

Ezenkívül az osztálynak is össze kell ragasztania az adatokat, és ki kell adnia az ügyfélnek. Ez egy kicsit olyan, mint a MasterPage az ASP .NET-ben. bár persze, hogy a MasterPage még mindig messze van, de ez nem arról szól.

De talán hagyjuk az üzletet, pontosan, az osztály testéhez:

A 18. sor inicializálja az osztályt. A 26. sorban a meghatározott sablonfájlt fogadó funkció betölti, beilleszti a tartalmat és visszaadja az eredményt.

A sablonfájl a 28. sorban kerül letöltésre, majd a betöltött címkés sablonban 39 sor keresésre kerül . és ha a $ title változó értéke NULL-tól eltérő. majd a 42 sorban, A sablon a $ title változóban megadott szövegre változik. Ezután a 48 sorban a tartalomblokkok kerülnek keresésre. A tartalomblokkok meghatározásához a $ content associative array kerül felhasználásra. Ezután az 53. sorban a funkció kimeneti eredményt ad.

Mentse ezt az osztályt egy különálló fájlba, például templateController.php.

Sablonokkal való munka

Most próbáljuk meg alkalmazni ezt az egészet munkánkban. Az első lépés egy sablonfájl létrehozása, a masterPage.html-nak hívása. egy tartalmi blokkot tartalmaz - MainContent.

Kapcsolódó cikkek