Recherche…


Activation des crochets

La fonctionnalité de hooks peut être globalement activée / désactivée en définissant l'élément suivant dans le fichier application/config/config.php :

$config['enable_hooks'] = TRUE;

Définir un crochet

Les crochets sont définis dans le fichier application/config/hooks.php . Chaque hook est spécifié comme un tableau avec ce prototype

$hook['pre_controller'] = array(
        'class'    => 'MyClass',
        'function' => 'Myfunction',
        'filename' => 'Myclass.php',
        'filepath' => 'hooks',
        'params'   => array('beer', 'wine', 'snacks')
);

L'index de tableau correspond au nom du point d'accès particulier que vous souhaitez utiliser. Dans l'exemple ci-dessus, le point d' pre_controller est pre_controller . Une liste de points d'accroche se trouve ci-dessous. Les éléments suivants doivent être définis dans votre tableau de hook associatif:

class Le nom de la classe que vous souhaitez appeler. Si vous préférez utiliser une fonction procédurale au lieu d'une classe, laissez cet élément vide.

function Fonction (ou méthode) nom que vous souhaitez appeler.

filename Le nom du fichier contenant votre classe / fonction.

chemin-fichier Nom du répertoire contenant votre script.

paramètres Tous les paramètres que vous souhaitez transmettre à votre script. Cet article est facultatif.

Crochet Points

pre_system

Appelé très tôt lors de l'exécution du système. Seules les classes de benchmark et de hook ont ​​été chargées à ce stade. Aucun routage ou autre processus n'a eu lieu.

pre_controller

Appelé immédiatement avant l’appel de vos contrôleurs. Toutes les classes de base, routage et contrôles de sécurité ont été effectués.

post_controller_constructor

Appelé immédiatement après l'instanciation de votre contrôleur, mais avant tout appel de méthode.

post_controller

Appelé immédiatement après l'exécution complète de votre contrôleur.

display_override

Remplace la méthode _display() , utilisée pour envoyer la page finalisée au navigateur Web à la fin de l'exécution du système. Cela vous permet d'utiliser votre propre méthodologie d'affichage. Notez que vous devrez référencer le super-objet CI avec $this->CI =& get_instance() et que les données finalisées seront disponibles en appelant $this->CI->output->get_output() .

cache_override

Vous permet d'appeler votre propre méthode au lieu de la méthode _display_cache() dans la bibliothèque de sortie. Cela vous permet d'utiliser votre propre mécanisme d'affichage du cache.

post_system

Appelé après l'envoi de la page finale au navigateur, à la fin de l'exécution du système après l'envoi des données finalisées au navigateur.

Exemple de pré contrôleur Hook utilisant CodeIgniter

Dans le application/hooks , créez un fichier nommé Blocker.php et collez le code ci-dessous.

<?php
class Blocker {

    function Blocker(){
    }
    
    /**
     * This function used to block the every request except allowed ip address
     */
    function requestBlocker(){
        
        if($_SERVER["REMOTE_ADDR"] != "49.248.51.230"){
            echo "not allowed";
            die;
        }
    }
}
?>

Dans application/config/hooks.php , déclarez le hook suivant.

$hook['pre_controller'] = array(
        'class'    => 'Blocker',
        'function' => 'requestBlocker',
        'filename' => 'Blocker.php',
        'filepath' => 'hooks',
        'params'   => ""
);

Dans application/config/config.php , définissez la valeur suivante comme true

Définir un crochet

Les crochets sont définis dans le fichier application/config/hooks.php . Chaque crochet est spécifié en tant que tableau avec ce prototype:

$hook['pre_controller'] = array(
      'class'    => 'MyClass',
      'function' => 'Myfunction',
      'filename' => 'Myclass.php',
      'filepath' => 'hooks',
      'params'   => array('bread', 'wine', 'butter')
);
  • CLASS - La classe que vous souhaitez appeler s'il s'agit d'un code procédural le laisse vide.
  • FUNCTION - Le nom de la fonction que vous souhaitez appeler.
  • FILENAME - Le nom du fichier contenant votre classe / fonction.
  • FILEPATH - Emplacement du fichier hook.
  • PARAMS Paramètre PARAMS si nécessaire il est facultatif


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow