Jelenlegi hely

Utolsó változások

3.12.6. Back-end

Az adminisztrátori felület hasonlóan működik a publikus felülethez. Az admin.php végzi a vezérlést. Fontos eltérés a felhasználó kezelése, a kilépés, belépés, stb.

A felhasználó belépett állapotát a username munkamenet változó jelzi.

<?php

3.12.5. Front-end

Nézzük meg, hogyan találkozik a látogató a weboldal publikus részével. A következő index.php állomány épít az Article osztályra, és a kimenetet sablonok segítségével állítja elő.

Először is a Front Controller mintát (3.6.2 fejezet) valósítja meg:

3.12.4. Az Article osztály

A cikkek kezelése, az adatbázissal való kommunikáció egyetlen osztály felelőssége. Ez az osztály fogja megoldani egy új cikk esetén az adatbázisba történő mentést, a cikkek lekérését adatbázisból, stb.

A későbbi front-end és back-end kód ezt az osztályt fogja használni.

Adattagok

A classes/Article.php kódja:

3.12.3. Konfiguráció

Webalkalmazások készítésénél általában létre szoktunk hozni egy konfigurációs állományt, ahol a futtatási környezet alap információit helyezünk el a programunk számára. Ha esetleg költöztetni kell az alkalmazást, elegendő ehhez az állományhoz hozzányúlni.

A config.php tartalma a következő legyen.

A fejlesztés idejére kapcsoljuk be a figyelmeztetéseket:

3.12.2. Adatbázis felépítése

Minden alkalmazásnak, így egy tartalomkezelő rendszernek is szüksége van arra, hogy az adatokat hosszú távon meg tudjuk őrizni. Erre ma a legelterjedtebb megoldás a 3.4 fejezetben bemutatott relációs adatbázis-kezelők használata.

Az alkalmazásunkat érdemes önálló adatbázisba helyezni. Pl. lokális gépen hozzuk létre a PhpMyAdmin segítségével egy cms nevű adatbázist a localhost/phpmyadmin webcímen:

Adatbázis létrehozása

3.12. Tartalomkezelő rendszerek

Ma a weboldal-tulajdonosok általában fontosnak tartják, hogy a weboldaluk tartalmát, sőt akár a strukturális felépítését is maguk tudják kezelni, mindenféle fejlesztői beavatkozás nélkül. Ilyen esetekben jó megközelítés lehet a tartalomkezelő rendszerek alkalmazása. A Wikipédia szerint:

3.12.1. Célok

Kezdjük a célok megfogalmazásával. A mini tartalomkezelő rendszerünknek a következőket kell tudnia.

A publikus felület (front end):

  • Kezdőoldal az 5 legfrissebb cikkel
  • Listázó oldal az összes cikkel
  • Egy cikk megtekintésére szolgáló oldal

Az adminisztrációs felület (back end):

3.11.2. A PHP mint sablonnyelv

Vitathatatlan, hogy a sablonrendszerek nagyon fontos szereket töltenek be a webfejlesztésben. A Smarty mellett sok kisebb rendszer is létezik, amelyek a Smarty bonyolultsága, vagy éppen egy más típusú (pl. XML alapú) sablonnyelv igénye miatt más utakon járnak. Vannak azonban olyan fejlesztők is – köztük a szerző is –, akik szerint olyan esetben, amikor a dizájner ismeri a PHP nyelvet, felesleges lehet egy külön sablonnyelvet megtanulni és alkalmazni.

3.11.1. Smarty

A Smarty az elmúlt években méltán vált az első számú (és sok fejlesztő számára az egyetlen) sablon-motorrá. A mai változata már több mint egy sablonmotor, talán pontosabb lenne sablon-keretrendszernek nevezni.

Jellemzők

Bevezetésül a Smarty néhány fontos jellemzőjét fogjuk megvizsgálni.

Gyorstárazott

A Smarty lehetőséget nyújt az oldalaink lefordított állapotának eltárolására két különböző szinten is. Természetesen ez a lehetőség finoman konfigurálható, nem csak globálisan, hanem egyes oldalakra nézve is ki-be kapcsolható.

3.10.3. MVC

A fejezet elején meg kell jegyeznünk, hogy a 3. fejezet hátralevő része jelentősen komplexebb a könyv egyéb részeinél. Ha az Olvasó számára nehezen vagy nem érthető, akkor érdemes egy átolvasás után az alaposabb megismerését elhalasztani, és később visszatérni rá.

Oldalak