Newsgroup: it.comp.www.php
Titolo: Benchmark ZF 2.0 Beta 1

Sto iniziando a studiare lo ZF 2.0, di cui è stata rilasciata la beta 3 
proprio in questi giorni.
 
Qui c'è un Benchmark da cui si vede che, nonostante i buoni propositi di 
migliorare le prestazioni e alleggerire l'uso di memoria,
la situazione è abbastanza disastrosa ( la beta 1 risulta in assoluto la 
peggiore se non vado errato):
 
 
http://www.ruilog.com/blog/view/b6f0e42cf705.html
 
 
 
Che ne pensate? 
 
 

 Che ne pensate?
 
Che per qualche tempo lascieremo la versione 1.x in production ;)

Dopo dura riflessione, Mister ha scritto :

UAO che è YAF!
 
-- 
----- Italliaaaaa 3227! -----
Italian way to work flexibility
http://www.facebook.com/photo.php?fbid=3008023093650&set=a.3007867849769.136344.1654637325&type=1&theater
 
 
 

 non vado errato):
 
E` normale.
Sia ZF2 che Symfony2 implementano dependency injection, che richiede 
tempi abbastanza lunghi di bootstrap, dovendo istanziare diverse classi 
anche se non vengono usate, e di default lo fanno parsando un file (ini 
per ZF, yaml per Sy, se non ricordo male).
E` una scelta architetturale che penalizza molto le applicazioni semplici 
come quella benchmarkata, ma semplificano la gestione di applicazioni 
complesse.
 
Sia ZF2 che Sy2 hanno comunque la possibilita` di compilare e cachare 
tutte le dipendenze. Attivando questa modalita` le prestazioni aumentano 
di parecchio (con l'unico contro che devi fare il deploy 
dell'applicazione quando la aggiorni. Non basta caricarla sul server, 
devi lanciare la compilazione delle dipendenze. O prevedere un sistema 
che lo faccia da solo).
 
La scelta di un fw dipende comunque anche dalle esigenze che hai. Se ti 
serve solo l'MVC base ci sono microframework che istanziano 3-4 classi in 
tutto. Se usi ZF2 o Sy2 lo fai perche` hanno componenti per qualsiasi 
esigenza.
 
Bye.
 

 dell'applicazione quando la aggiorni.
 
Ho sempre pensato che in PHP/MySQL fare il deploy di un applicazione volesse 
dire
installarla sul server del cliente, cioè  caricare il db, editare gli 
eventuali file di configurazione e testarla.
 
Non so se è corretto, forse è un pò una definizione da praticoni ....
 
Tu cosa intendi per fare il deploy di una applicazione PHP/MySQL, in 
particolare di una sviluppata con ZF?
 
 
 
 
 

 di parecchio
 
 
Interessante.
Non conoscevo questa possibilità, sto iniziando adesso a studiare ZF2
 
Grazie del commento
 
 

 eventuali file di configurazione e testarla.
 
Fare il deploy significa "fare tutto quello che serve per installare/
aggiornare un certo software".
 
In PHP, di solito, solo la prima volta devi entrare sul server, creare il 
virtualhost, scaricare (o caricare in ftp) il sito, creare il database 
con le credenziali corrette, cambiare i file di config, ecc.).
 
Quando aggiorni, fai solo il caricamento dei nuovi file (io, usando cvs, 
faccio semplicemente "cvs update" dentro la cartella del sito, per 
esempio).
 
Con ZF2 e Symfony, invece, dopo OGNI aggiornamento devi almeno lanciare 
uno script che svuoti le cache, rigeneri la config per la Dependency 
Injection, e, se usi un ORM, tipicamente faccia anche l'aggiornamento 
delle tabelle sul DB). In pratica l'equivalente del "ant deploy" di Java.
 
E a me da` abbastanza fastidio, perche` se te lo dimentichi hai errori 
che non riesci a individuare.
 
Io, addirittura, faccio tutto "autoconfigurante", nel senso che il 
bootstrap si accorge da solo di essere in una macchina diversa da quella 
di testing, e si arrangia a definire path relativi e assoluti, e, 
sfruttando variabili di ambiente, anche che deve usare il DB di 
produzione e non quello di test.
 
Quindi al primo deploy faccio solo virtualhost, cvs checkout, create 
database. Tutto il resto (compresi i create table) li fa il sito al primo 
accesso in modo trasparente.
 
Bye.
 


.......CUT
 
 
Chiarissimo
 
Grazie 
 
 

 aggiornare un certo software".
 
Il realtà il termine più corretto dovrebbe essere "deployment"; ma per
noi è diventato più semplice usare "deploy".
 
M.