Klassebiblioteker
Kodebiblioteker, eller klassebiblioteker som det også kaldes undertiden, skal der til. De fleste udviklingsprojekter vil have en lang række fælles problemstillinger, og et sprogs produktivitet er selvfølgelig påvirket af, hvor mange gange man er tvunget til at genopfinde hjulet.
Java har sine standard-API'er, og Perl har sit gigantiske CPAN-arkiv, hvor man kan finde næsten alt, hvad Per-hjertet kan begære. Indspireret af især CPAN har en række af PHP's bagmænd sat sig for at opbygge et tilsvarende arikv, som bærer navnet PEAR.
Man kan spørge, hvad forskellen er på at benytte klassebiblioteker frem for eksempelvis at benytte open source biblioteker og kodestumper, som man kan finde rundt omkring på nettet.
Fordelene er flere: De standardiserede biblioteker kan forventes at have en vis kvalitet i forhold til stabilitet og ydelse. Slutteligt gør klassebiblioteker det nemmere at standardisere kodeudvikling, da bibliotekerne vil være alment kendt blandt et sprogs udviklere, som så ikke behøver at sætte sig ind i nye API'er for hvert nye projekt.
Database-API
PEAR er en forkortelse for PHP Extension and Application Repository, og koden i projektet er udviklet efter et sæt retningslinier. Bibliotekerne er kvalitetsbedømt af PEAR-gruppens udviklere, og kodens udformning følger en uniform standard. Bibliotekerne benytter en fælles fejlhåndteringsmekanisme, og slet ikke uvigtigt medfølger dokumentation (i et standardiseret format) samt eksempler og tests.
Pakkerne i PEAR dækker mange områder, som for eksempel database-abstraktionslag og server-side caching. Specielt databaseabstraktionslaget er vigtigt her. I modsætning til mange andre sprog har PHP-udviklerne været tvunget til at udvikle til bestemte databaseprodukter.
Open source-databasen MySQL har hængt sammen med PHP som ærtehalm, men efter at sprogets popularitet har vokset, er der behov for en mere fleksibel tilgang til datalaget.
Der findes et utal af professionelle webapplikationer udviklet med PHP, og her kan databaseabstraktionslaget gøre portering imellem RDBMS-systemer væsentligt nemmere.
Andre områder, hvor PEAR kan lette arbejdet, er afsendelse af mail fra PHP-scripts. PEAR's mail-objekt giver udviklerne mange muligheder, som for eksempel håndtering af vedhæftede filer.
PEAR-bibliotekerne kan hentes via en CVS-klient, og der udvikles løbende på et installationsværktøj, som det kendes fra Perl og CPAN.
PEAR-projektet er stadig i sin vorden, men det er helt sikkert, at bibliotekerne vil få stor betydning for PHP-udviklerne i fremtiden.