Citat:
Originally posted by DeSoto@Jan 19 2006, 14:29
Ahhh, det läste jag ju. Märkte inte att det var du som skrev det.
Du har inget konkret exempel där du anser att java utklassar php?
|
Bara det att PHP är svagt typat språk får en att börja fundera på något annat. Visst är det smidigt om man ska hacka ihop små gästböcker, men för stora applikationer är döden. Ta till exempel följande.
Kod:
$id = $_SESSION['id'];
...600 linjer kod
while ( $row = mysql_fetch_assoc()){
$id = $row['id'];
echo "current product has id " . $id;
}
I java vet du med dig att scope för id i while satsen är bara för den, så du skulle behöva definiera id så här.
Kod:
int id = Integer.parseInt(request.getSession(true).getAttribute("id"));
... 600 linjer kod
while (rs.next()){
int id = rs.getInt('id');
out.println("current product has id " + id);
}
varpå din kompilator skulle spy galla över dig eftersom "id" redan är definierat i en globalare scope. Likaså skulle kompilatorn aldrig låta dig lagra något annat än int i en variabel som är i "skåpet" definierad som int. Det är bra. För små prylar är det hugget som stucket, kanske tom lite smidigare utan typdeklaration.
En annan sak är att Java tvingar dig mer eller mindre att köra objektorienterat vilket är bra för större applikationer med fler utvecklare.
Vidare stödjer inte PHP överlagring av metoder vilket är mycket fint att ha.
I java kan jag skapa ett objekt, productfactory, med en metod getProducts() som returnerar alla produkter i databasen. Men sen kan jag om jag vill överlagra metoden att svälja en vektor med produktid och returnerar bara dessa produktobjekt.
Sen kan jag köra antigen
Vector products = productfactory.getProducts();
eller
Vector products = producfactory.getProducts(productids);
Och det är bara början.