Aplicarea practică a OEP în PHP5

Aplicarea practică a OEP în PHP5

Astăzi destul de des pentru a dezvolta site-uri web folosind limbajul PHP. În versiunea a cincea și ultima în PHP a îmbunătățit foarte mult sprijin pentru OEP (Object Oriented Programming). Cu toate acestea, mulți programatori pentru a crea site-uri folosind numai cele mai multe caracteristici de bază OOP, cum ar fi date de încapsulare. Desigur, această utilizare a OOP face codul mai bună calitate, dar folosind alte caracteristici OOP, puteți obține un efect mai mare. Utilizarea polimorfism și moștenire poate reduce semnificativ codul în același timp, făcându-l mai fiabile. De asemenea, acest cod poate fi de multe ori reutilizate.

Pagina de start Vasi Pupkina

Vom face acest lucru pagina Vasi Pupkina. Partea de sus a paginii ar trebui să fie o inscripție mare „Acasă Vasi Pupkina“ (de obicei logo-ul site-ului). În plus, meniul ar trebui să fie compus din următoarele secțiuni: Pagina principală, biografie, link-uri. În secțiunea de mijloc a paginii este un text. În partea de jos a meniului pentru ușor duplicată.

Site-ul va consta din patru dosare principale:

Fișierul auxiliar, vom păstra toate clasele noastre.

În primul rând determina că pagina vom fi o clasă. Noi definim o clasă abstractă fișier HTML-pagini html.php:

HTMLPage clasă abstractă
<
protejat $ titlu = "";

Funcția __construct ($ Titlu)
<
$ Acest -> title = "[Pagina de start Vasi Pupkina]". $ Titlu;
>

Funcția Logo ()
<
echo "

Pagina de start Vasi Pupkina

„;
>

Funcția Meniu ()
<
ecou <<







acasă biografie referințe

HTML;
>

MainText funcția abstractă ();

Să vedem în ce fiecare dintre metodele:

Metoda Nume Atribuire Metoda

Funcția __construct ($ titlul) Crearea și inițializarea obiectului (în acest caz, stabilind titlul paginii).
funcționează BeginHTML () fișier de ieșire HTML-antet.
funcționează EndHTML () la sfârșitul de ieșire a HTML-fișier.
Funcția Logo () Afișarea site-ul logo-ul.
Funcția de meniu () Afișează meniul principal al site-ului.
MainText funcția abstractă () Afișează conținutul principal al unei pagini web.
Funcția de scriere () afișează pagina Web, utilizați metoda pentru a afișa elementele individuale ale paginii web.

O parte a metodei folosite pentru a afișa elemente de pagină individuale, cum ar fi meniul, logo-ul și așa mai departe. Metoda de scriere, toate aceste funcții sunt numite pentru a aduce întreaga pagină. O atenție deosebită trebuie acordată metodei MainText abstractă. Această metodă se numește abstractă deoarece nu este pusă în aplicare în această clasă, dar numai a anunțat. Această metodă va fi înlocuită și pusă în aplicare într-o clasă derivată. Deci, la pagina de link-uri a acestei metode se va afișa link-uri și pagina biografie - biografii text ale Vasi Pupkina. clasa este declarata ca abstract, respectiv, va fi imposibil de a crea instanțe ale acestei clase.

Clasa declară o variabilă $ zonă cu vizibilitate Titlu protejată, are acces la ea se poate obține fie clasa de sine sau de către succesorii săi.

Acum trebuie să creăm cele trei dosare rămase. Va arăta modul în care acest lucru se poate face ca un exemplu index.php:

class IndexPage extinde HTMLPage
<
Funcția MainText ()
<
echo "

Bine ați venit pe pagina de Vasi Pupkina „;
>
>

$ Page = new IndexPage ( "Home");

În acest caz, pur și simplu a crea o nouă clasă de IndexPage, derivată din clasa HTMLPage și redefinit metoda MainText pentru a afișa principalele pagini de conținut.

Avantajele utilizării OEP va fi cu atât mai mare, cu atât mai mare va fi site-ul. De asemenea, sunt sigur, în cursul lucrărilor, cerințele pentru site sunt în continuă schimbare. De exemplu, poate fi necesar să adăugați o pagină nouă. Pentru a face acest lucru va crea pur și simplu un nou fișier cu o clasă derivată din HTMLPage, suprascrie metoda MainText și de a crea un element de meniu corespunzător. Iată cum puteți utiliza moștenire. De asemenea, doar pentru a schimba design-ul tuturor paginilor - toate modificările vor avea loc în sala de clasă HTMLPage, alte pagini de design unasledut automat.

articole similare