Ja imam takav problem zadnjih 10-tak dana i iz tog razloga sve što sam započeo ranije stoji. PostgreSQL i PHP5 su poprilično proširili moja interesovanja. Zahvaljujući Postegreu počeo sam mnogo više da razmišljam o triggerima, "punokrvnim" ACID transakcijama, domenima, nasleđivanju klasa... Sam PostgreSQL je prava artiljerija i jednostavno mi nije jasno zašto nije popularniji. Jeste da MySQL pruža dovoljno mogućnosti za 90% potreba dinamičkih web sajtova, ali sve čemu je potreban osiguran integritet podataka, moćan, testiran i robusan sistem je mesto u koje se MySQL teško može u potpunosti uklopiti. Istina da "novi" MySQL donosi mnogo toga lepog (ugneždeni SELECTi, FOREIGN KEYs, transakcije...), ali opet mu fale mnoge stvari koje PostgreSQL odavno ima. Kad su već developeru potrebne pobrojane nove MySQLove mogućnosti, onda su mu sigurno potrebne i mnoge druge "igračkice" koje su odlika profesionalnih, enterprise baza podataka i tu PG nalazi svoje mesto.
Kada ste odabrali sistem koji će služiti kao skladište potrebno je da odaberete i platformu na kojoj ćete izgraditi business logiku. PHP5 se i dalje ne čini kao savršeno rešenje, ali ga novotarije (ispeglane iz prethodnih verzija ili po prvi put predstavljane u 5ici) čini poprilično privlačnim rešenjem. Tu su DOM, XML:RPC, SOAP, MySQLi... Novi objektni model... Unapređeno baratanje greškama (try catch throw)...
Činjenica koja pokazuje da je PHP na pravom putu (samo da posle ovog ne počne da luta) je pojava par prilično zanimljivih projekata. U pitanju su automatizovani class generatori, par interesantnih frameworka, abstrakcioni slojevi i koješta slično. Skidajući i analiziraju neke od njih naišao sam na implementacije prilično lepih design patterna koji su velika novost u PHP svetu (ranije su se njima mogli dičiti samo potpuno objektno orijentisani jezici dok su u Java svetu dobili kultno mesto; čak toliko jako da sam se u par navrata zapitao da li ljudi koriste Javu za rešavanje konkretnih problema ili teoretisanje o objektno orijentisanom programiranju i njegovim principima). Iteratori, Factory model, MVC, Flyweight, Singleton, Mapable... Ima ih more. Ono što je prilično zanimljivo je da kad se malo više počnete baviti design patternima skontate da ste većinu odavno koristili i da nije bitno ŠTA implementriate, već KAKO implementirate.
I eto, par tema koje mi u zadnjih 10tak dana oduzimaju vreme:
- PostgreSQL
- Objektno orijentisane baze podataka
- Objektno orijentisano programiranje, design patterni
- Proučavanje već napisanih sistema i "sistemčića" u PHP5
Ima toga još, ali meni se i ovo čini dovoljnim da okupira čoveka na par meseci.