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
codice:
$method = 'Set' . $Property;

if (method_exists(....) === true)
{
     $this->$method($Parameters[0]);
}
.
.
.
non l'ho testato ma non credo ci sia motivo per non funzionare

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: