Hola a todos,
sto attualmente reimplementando la gestione dei forms del mio CMS ed insieme a lui anche la gestione dati che fino a qualche giorno fa veniva interamente effettuata internamente ad ogni componente quadruplicando il codice da scrivere.
Per la gestione dati ho scritto due classi astratte: la prima permettera la gestione del singolo dato mentre la seconda la gestione delle collezioni di dati. Mentre la prima sarà un oggetto abbastanza semplice che conterrà, staticamente, l'elenco dei campi e la loro associazione con le colonne del database (ad es Name => user_name o City->Name => city_name) la seconda si occuperà di fornire un'interfaccia abb. generica per definire come manipolare i dati ed estrarli.
Ora nel caso della prima classe astratta, che ha il breve nome di Framework_Core_Databases_DataModels_Base, avrò la necessità di utilizzare principalmente i metodi __get e __set per permettere l'accesso alle proprietà e nel contempo, nel caso di un settaggio di un valore, la verifica di quello che viene inserito oltre che per segnarsi che i dati sono cambiati cosi da poter committare su richiesta. Qui entra pure in gioco call_user_func anche se non è vitale perché potrei fare qualcosa tipo
non l'ho testato ma non credo ci sia motivo per non funzionarecodice:$method = 'Set' . $Property; if (method_exists(....) === true) { $this->$method($Parameters[0]); } . . .
Da quanto ricordo le performance su php4 erano DECISAMENTE basse, particolarmente quelle di __call, motivo per il quale ho smesso di usare i magic methods, però sinceramente su php5 non ho mai provato le loro performance ... ancora meno di php 5.3
Qualcuno ha fatto dei test di performance?
:danke: