//Hooks-Quellcode
//Hooks sind Hooks, ihre Hauptfunktion besteht darin, base_system unter dem CI-Framework zu erweitern, und ihre Hauptfunktion besteht darin, CI zu starten,
//Führen Sie einige von Entwicklern definierte Methoden aus, um bestimmte Funktionen zu implementieren
//In application/config/hooks.php definierte Methodendefinition, die gestartet werden soll, wenn CI startet
$hook['pre_controller'][] = array(
'Class' = & gt; 'myclass',
'FNCTION' = & GT; 'MyFunction',
'Dateiname' => ' Myclass.php',
'filepath' =>. 'hooks',
'Params' = & GT; Array ('Bier', 'Wein', 'Snacks')
$hook['pre_controller'][] = array(
Zu
'Dateiname' =>
'filepath' =>. 'hooks',
Zu
//Hooks-Quellcode Stellen Sie zunächst fest, ob die Hooks (d. h. das benutzerdefinierte Array ähnlich dem oben genannten) vorhanden sind oder ein zweistelliges Array
sind
if (isset($this->hooks[$which][0]) AND is_array($this->hooks[$which][0])){
//Wenn ja, Schleife ausführen und run_hook ausführen
foreach ($this->hooks[$which] as $val){
$this->_run_hook($val);
}
}else{
//Wenn nicht, führen Sie Hooks direkt aus
$this->_run_hook($this->hooks[$which]);
}
//Setzen Sie unten $this->in_progress = TRUE;, um zu verhindern, dass gleichzeitig ein Hook aufgerufen wird, wenn ein neues Objekt erstellt wird
//Wir müssen in_progress als false markieren
$this->in_progress = TRUE;
if ($class !== FALSE){
if ( ! class_exists($class)){
require($filepath);
}
$HOOK = neue $klasse;
$HOOK->$function($params);
}else{
if ( ! function_exists($function)){
require($filepath);
}
$function($params);
}
$this->in_progress = FALSE;
Das Obige stellt die Anweisungen zur Verwendung von Hooks unter dem CI-Framework und seinen Funktionen vor, einschließlich relevanter Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.