The Standard PHP Library (SPL)

By Stefania Rusu

SPL – Standard PHP Library este o colectie de interfete si clase care au rolul de a rezolva probleme standard si de a implementa interfete si clase pentru un acces eficient la date. Clasele documentate se pot gasi in fisierul spl.php sau in fisierele .inc corespunzatoare in subdirectoare exemple sau interne.

Scopul SPL este de a oferi o librarie standard de interfete care permit programatorilor sa profite de programare obiect-orientata in PHP 5. Aceasta librarie de interfete ceraza un API standard pentru anumite tipuri de functionalitati built-in, permitand claselor sa interactioneze cu motorul PHP . Functionalitatea oferita include, de exemplu, abilitatea de a defini cum obiectele programatorului vor reactiona cand vor interactiona cu “foreach”, accesul avansat al array-urilor, accesul la directoare si fisiere si avantajul manipularii obiectelor de tip SimpleXML.

Iterator – este un obiect care permite programatorului sa parcurga toate elementele unei colectii, fara a tine cont de implementarea specifica acesteia.

In PHP este posibil sa iterezi un array cu ajutorul “while”, “do-while”, “for” si “foreach”.

Interfata – defineste linia de comunicare dintre doua entitati, precum o parte de software, un dispozitiv hardware sau un utilizator.

Interfetele sunt similare cu clasele abstracte din prisma faptului ca ele definesc functionalitatea claselor copii. Totusi, interfetele nu definesc modul in care copii ar trebui sa proceseze datele. Mai repede, o interfata defneste doar interfata prin care copilul trebuie sa accepte sau sa returneze date. Toata actiunea de procesare ramane in mana copilului, dar, un lucru important pentru copi este sa respecte definitia interfetei. Astfel, interfata ofera tuturor copiilor sai un limbaj comun astfel incat orice altceva care comunica cu acesti copii sis tie limbajul interfetei sa fie capabil sa comunice efectiv cu acestia.

Astfel, cand se foloseste una din interfetele SPL, motorul PHP poate folosi obiectul in moduri care altfel ar fi fost imposibile inainte de implementarea interfetei, deoarece acest obiect nu “vorbeste” acelasi limbaj ca si interfata. PHP “intelege” limbajul comun al interfetelor SPL si atunci cand sunt acestea sunt implementate, PHP poate realize lucruri interesante cu clasele folosite. De exemplu, daca clasa folosita implementeaza interfata “Countable”, atunci PHP stie sa apeleze metoda “count()” a clasei atunci cand este folosita functia PHP “count()” pe un obiect al casei.

De asemenea SPL include si alte caracteristici importante, cum ar fi exceptiile, manipulalrea avansata a array-ilor si accestul avansat la fisiere si directoare.

PHP 5 introduce exceptiile, iar acestea au imbunatatit considerabil modul in care sunt tratate erorile si esecurile aplicatiilor. Nu este de ajuns sa captezi erorile de baza deoarece este imposibil sa dictezi alternative multiple de comportament al unei aplicatii deoinzand de tipul esecului.

SPL include multe exceptii deja definite care sunt gata sa fie folosite in clase, functii si scripturi.

Accesul la directoare si fisiere oferit de SPL ofera programatorului o abordare obiect-orientata pentru operarea fisierelor sistemului. SPL ofera mijloacele de acces la fisere, obtinerea detaliilor fisierelor si directoarelor si modificarea continutului acestora prin intermediul clasei “SlpFileObject”.

 

1 comment so far.

  1. trafic.ro 18 iulie 2008 la 14:23
    poate fi folosit SPL in loc de un framework ?

Something to say?