Ho un'applicazione software. Attualmente all'inizio di ogni Controller carica solo i Modelli necessari per quel Controller. Ho provato di recente e ho scoperto che includere tutti i modelli sembra richiedere circa un microsecondo. Se caricassi sempre tutti i modelli, semplificherebbe l'applicazione e renderebbe le cose un po 'più ASCIUTTE. Tuttavia, vedo che molti framework di grandi dimensioni non caricano automaticamente parti non essenziali del suo codice.
Esistono altri motivi oltre alle prestazioni per evitare il caricamento automatico del codice non essenziale?
Ecco il mio test delle prestazioni di base di seguito. ( Aggiornamento : questo test delle prestazioni è difettoso, vedi il mio commento qui sotto)
echo round(microtime(true) * 1000); // 1474295691851
echo '<hr>';
require_once 'DB_Model/Translate_Model.php';
$GLOBALS['translate_model'] = new translate_model;
require_once 'DB_Model/Import_Model.php';
$GLOBALS['import_model'] = new import_model;
require_once 'DB_Model/Sku_Entry_Model.php';
$GLOBALS['sku_entry_model'] = new sku_entry_model;
require_once 'DB_Model/Group_Entry_Model.php';
$GLOBALS['group_entry_model'] = new group_entry_model;
require_once 'DB_Model/Event_History_Model.php';
$GLOBALS['event_history_model'] = new event_history_model;
echo round(microtime(true) * 1000); // 1474295691852
Nota a margine: per favore mantieni risposte e commenti sull'argomento alla mia domanda. Sono a conoscenza di altri problemi di progettazione, come l'utilizzo di $GLOBALS
. Sono consapevole e lavoro su questo.