Ég hef forritaði í PHP síðan útgáfa 3 var rétt að koma út. Og ég var mun hrifnari af því frekar en ASP sem ég hafði dundað mér í. PHP varð vinsælt vegna þess að það var lítið einfalt og hraðvirkt í þróun. En þeir dagar eru liðnir. Lélegt stjórnun á þróun PHP hefur gert það að ferlegu flykki sem ómögulegt er að þróa í án þess að vera með php.net opið til að flétta upp hvernig hlutirnir gerast. PHP hefur náð að eyðileggja sjálft sig með lélegu skipulagi og eyðilaggt marga upprennandi forritara með því að venja þá á lélega forritunarleiðir.

PHP hefur ekkert skipulag. Meðal vandræða þess er namespaces og föllin. Fullt PHP compælað með öllum möguleikum hefur yfir 3000 skipanir í sama namespace. 300 í sama namespace er yfirleitt talað um sem of mikið. Mikið af þessum skipunum gera næstum hið sama með smávægilegum breytingum og flækja málin frekar en að gefa manni fleiri möguleika. Og nöfnin fylgja engum reglum. Föll með margra orða nöfnum heita ýmist getalldates(), get_all_dates eða stundum getAllDates(). Þannig er ekki nóg að muna nafn fallsins heldur verður að muna hvernig það er skrifað líka. Innbyggð föll hafa ekki staðlaða röð á breytum sem nota á í föll. Stundum þarf að skilgreina id kóða fremst og stundum er hann aftast.

PHP er viljandi gert hægvirkt. PHP er ekki með innbyggt caching. Vegna þess að Zend fyrirtækið á pakvið PHP vill fá að selja það. Það er hægt að komast framhjá því með að nota lausn frá þriðja aðila en það telst ekki með þar sem það er ekki partur af PHP.

PHP.ini er djöfull forritara. PHP.ini er bara með of mikið af stillingum fyrir forritara og kerfisstjóra. Í fyrstu skoðun þá finnast kanski morgum að það sé sniðugt að geta breytt öryggisstillingum PHP en það er röng skoðun. Þú átt ekki að geta gert forritunarmál óöruggara. Og PHP.ini gerir það að verkum að þú ert ekki öruggur um að kóðinn þinn keyri á vefþjóni þó að þjónnin sé á sömu útgáfu PHP og þú notaðir.

PHP er ekki backward né forward compatable. PHP hefur verið með þrjár útgáfur sem hafa brotið forrit síðan það komst til almennra vinsælda. 4.3 og 4.4 breyttu skilgreiningum á referencum. Þar af leiðandi eru mikið af vefforritum sem koma út í bæði 4.4 útgáfu og 4.3 útgáfu. Útgáfa 5.0 er með mikið af breytingum og ég hef þurft að gera breytingar á flestum kóðum til að færa milli útgáfna. En PHP5 kom ekki með namespaces eins og rætt hafi verið um en sagt er að það komi í útgáfu 6. En namespaces munu breyta öllu þannig að PHP5 og PHP4 munu ekki keyra á neinn hátt á PHP6 né tilbaka. Það er ekki einu sinni víst að það dugi þér að upppfæra kóðan heldur gætiru þurft að byja nær uppá nýtt. Og þetta er stórt vandamál fyrir fyrirtæki. Hversvegna ætti fyrirtæki að kóða í PHP ef að kóðinn verður orðin ónothæfur eftir eitt til tvö ár?

Það er fjöldinn allur ef fleiri vandamálum sem eru kanski flóknari í eðli sínu. En niðurstaðan er bara sú að PHP er ekki einfalt og sniðugt lengur. Þetta er orðið eitt það flóknasta non-compiled forritunarmál sem að er í boði í dag. Þú getur ekki leyst vandamál með því að byggja á reynslu eða giska þig áfram. PHP gaurarnir vantaði bara stefnu og vilja til að halda túngumálinu hreinu. PHP er enþá nothæft og gott fyrir litla hluti. En um leið og þú ætlar að fara setja up flóknari kerfi þá lendiru í því að vera með forrit sem er byggt á hundruðum samantengdra skítareddinga. Eins mikið og ég hata nú java(vá farið að nota minna minni) þá er ég samt farin að mæla með því frekar en að nota PHP í stærri verk. .net er nothæft einnig en Python og Ruby hafa vinninginn í að samhæfa einfaldleika og kraft. Og eru einnig Object Oriented sem sárvantar í PHP.