Constructeur du contrôleur CodeIgniter
Je suis très nouveau pour codeigniter ,
Je voulais savoir quel est le sens d'un constructeur dans un contrôleur . J'ai vu le code suivant dans un codeigniter tutoriel -
class upload extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->helper(form);
}
//rest of the class...
Ma question est de savoir quand le constructeur est invoquée - est-il appelé à chaque fois que le contrôleur répond à une demande (e.g la classe du contrôleur est instancié pour chaque requête qu'il reçoit?)
source d'informationauteur Joel_Blum
Vous devez vous connecter pour publier un commentaire.
Eh bien, c'est un problème plus général de PHP en question. De toute façon, oui, la magie de la méthode __construct() est appelée automatiquement à chaque instanciation de la classe, comme vous pouvez le voir dans le manuel: http://www.php.net/manual/en/language.oop5.decon.php
Généralement, dans CI n'est pas nécessaire de faire appel à un constructeur, sauf si vous voulez vraiment un. Dans l'exemple que vous avez posté, le code des charges de l'aide sur chaque instanciation de la classe - qui est le même que le chargement de l'aide dans chaque méthode, permet d'économiser beaucoup de saisie et assure qu'elle n'est pas oublié. Vous pouvez également mettre de la bibliothèque/helper/modèle vous voulez avoir alywas chargé dans le chargement automatique de tableau dans config/autoload.php (cochez la case "chargement automatique" dans ce manuel)
Une fois que vous définissez un constructeur dans votre Contrôleur enfant, vous êtes obligé d'appeler le constructeur parent (le courrier de CI_Controller classe), car il est bien là le principal CI l'objet est créé et toutes les classes sont chargées, et vous avez besoin de ces dans votre contrôleur enfant; si ne parviennent pas à faire de votre enfant de la classe va construire séparément et de ne pas hériter.
J'espère que je me suis fait clair, l'anglais n'est pas ma langue maternelle 🙂
le constructeur est magie Littéralement son appelé une méthode magique.
ce qui rend le constructeur cool, c'est qu'il va faire des choses pour vous AVANT tout des méthodes. Donc, si vous avez un administrateur de classe, et que quelqu'un doit être connecté afin d'y accéder - vous pouvez vérifier la connexion dans le constructeur et les faire rebondir s'ils ne sont pas autorisés.
dans le constructeur, vous pouvez charger les modèles, les bibliothèques, les aides, etc que vos besoins de la classe, et ils seront disponibles pour n'importe quelle méthode de la classe.
vous pouvez charger des variables qui sont utilisées par des méthodes. c'est vraiment utile pour les modèles.
Ne pas utiliser
_construct()
fonction dans dernière version de apache & codeigniterUtilisation
helperlin in index()
fonction