Ho una pagina include.php che carico all'inizio di ogni pagina del mio sito web. Mentre sviluppo il sito web, il numero di classi che sto usando sta crescendo. così finisco con qualcosa di simile:prestazioni di caricamento classi php e l'uso di 'extends'
$db = new DB($config);
$login = new Login($db, $config);
$form = new Form($db, $config);
E l'elenco potrebbe continuare all'infinito. Ho due domande su questa pratica:
In primo luogo, considerando che potrei non usare una classe in una determinata pagina (potrei non avere un $ form su ogni singola pagina), quanto conta davvero, le prestazioni- saggio, per caricare questa classe ogni volta che viene caricata una determinata pagina?
In secondo luogo, potresti aver notato che sto passando l'istanza di classe $ db a tutte le altre classi, oltre a una variabile $ config. Nel codice php di ogni classe, faccio qualcosa di simile:
public $db;
public $config;
public function __construct($db, $config, $smarty){
$this->db = $db;
$this->config = $config;
}
poi i metodi della classe, rivolgo i file di database e di configurazione con 'questo' in quanto tale:
public function myfunction(){
$this->db;
$this->config;
}
Quando dovrebbe Io uso 'extends' piuttosto che passare $ db alla classe, assumendo che ogni classe usi il db? Passare $ db ad ogni classe fa male in alcun modo in termini di prestazioni?
Grazie!
Grande e completo! Grazie mille. –
Prego :-) Buon divertimento! –
Estendere le lezioni è stato per me un piccolo mistero per un po 'di tempo, questa è una spiegazione grandiosa e semplice che mi ha reso immediatamente chiaro quando usarlo. – Kokos