Dat zou je inderdaad kunnen zeggen. Mijn persoonlijke probleem is een beetje dat PHP kwa ontwikkeling gewoon Java en ASP.NET achterna gaat. De reden om geen Java en ASP.NET te gaan gebruiken was altijd dat PHP makkelijker en simpelder was. Of dat echt zo is is weer een andere discussie eigenlijk (in een notendop, als je je beperkt tot JSPs met Java code erop zijn PHP en JSP bijna identiek).
Anyway, als PHP netzoals Java gaat worden, wat is dat het nut nog? Dan kun je direct meteen naar Java gaan. Vergelijk het een beetje met wat microsoft met Visual Basic heeft gedaan. Dit was een simpel taaltje voor je als je niet bijster veel wilde. Ondertussen heeft MS Visual Basic zo verbouwt dat het gewoon C# is met alleen nog maar een hint naar de oude VB syntax. Why bother denk ik dan. Gebruik dan gewoon meteen C#.
OO-programmeertaal, terwijl de structuur van een webbased applicatie o.a. door het gebruik van HTTP (-get en -post) helemaal afwijkt van een normale applicatie die je opstart en laat lopen totdat er eens op het kruisje gedrukt wordt. Wordt over dit verschil expres heen gekeken, of heeft er niemand ooit aan gedacht dat zo'n verschil misschien ook vraagt om een andere manier van programmeren?
Je moest eens weten hoeveel daar over gedacht is

Java EE (de web variant dus) en ASP (nog zonder het .NET) zaten vroeger met hetzelfde probleem. Een vrij plat programmeer model waarbij je vooral met requests en response dingen aan de gang was. Kwa pure business logic kon je het OO gebeuren nog wel goed toepassen, maar voor de GUI en interactie eigenlijk een stuk minder.
Zowel ASP.NET en Java zitten echter alweer een volledige generatie verder. Je hebt volledige OO frameworks, met server side events, event-listeners, herbruikbare componenten, componten die je kinderen kunt laten zijn van andere componenten etc. Precies die werkwijze die je ook toegepast ziet worden in GUI desktop applicaties (bv Winforms, Win32/MFC (windows), AWT/Swing/SWT (Java), QT, GTK, Motif (oa Linux), etc etc).
In een typische JSF applicatie (zo heet het GUI model van Java) knoop je gewoon componenten aan elkaar en hangt er (action) listeners aan. Dit kun je zowel in XML doen, als in code. Als je het in code doet lijkt het echt net op desktop programmeren. Je hebt bijna niks meer te maken met requests, request parameters of responses. Jij ziet alleen classes en daar werk je mee.
Je kunt dus bijvoorbeeld dingen doen als:
code:
1
2
3
4
5
6
| public String myAction() {
if ( something == true ) {
myWidget.setRendered(true);
myWidget.setBorder(2);
}
} |
de functie myAction set je dan als action listener voor een widget wat je op je scherm ziet (een knop of link widget bijvoorbeeld). Als iemand dan op die knop drukt wordt automatisch die functie myAction aangeroepen. In deze functie kun je dan gewoon andere widgets aan of uit zetten, of hun eigenschappen veranderen. Java zelf genereerd er dan de HTML code voor en vangt ook de requests op die de user dan weer terug stuurt.
In PHP of puur JSP moet je zelf met de hand HTML op je pagina gaan zetten, daar dan zelf if constucties om heen zetten, dan de request parameters uitlezen op basis waarvan die if statements dan weer wel of niet waar zijn, etc. Dat is allemaal veel meer gedoe, plus dat je niet echtr OO bezig bent op de pagina's zelf.