La configuration est largement utilisée pour créer de nouveaux objets ou initialiser des objets existants dans Yii. La configuration contient généralement le nom de classe de l'objet en cours de création et un ensemble de propriétés à attribuer. à l'objet. Valeur initiale, les attributs ici sont des attributs Yii2.
Vous pouvez également lier des gestionnaires d'événements à des événements sur des objets, ou attacher des comportements à des objets. Ainsi, lors de la définition de la valeur initiale de l'objet, les caractéristiques dynamiques du runtime de l'objet sont entièrement spécifiées. (Apprentissage recommandé : yii framework)
La configuration dans le code suivant est utilisée pour créer et initialiser une connexion à une base de données :
$config = [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=127.0.0.1;dbname=demo', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ]; $db = Yii::createObject($config);
Yii::createObject() est la méthode la plus couramment utilisée dans Yii2 pour créer des objets, et son contenu est l'objet extrait du conteneur DI.
Cette méthode accepte un tableau de configuration et crée un objet basé sur le nom de classe spécifié dans le tableau. Une fois l'objet instancié, les paramètres restants sont utilisés pour initialiser les propriétés, les événements et les comportements de l'objet.
Dans Yii2.1, la valeur clé utilisée pour représenter le nom de la classe dans le tableau de configuration est passée de class à __class, mais le principe de configuration reste inchangé.
Pour un objet existant, vous pouvez utiliser la méthode Yii::configure() pour initialiser ses propriétés en fonction de la configuration, comme ceci :
Yii::configure($object, $config);
Veuillez noter que si vous configurez un objet existant , Ensuite, le tableau de configuration ne doit pas contenir d'élément de classe avec le nom de classe spécifié.
La configuration est une fonctionnalité de Yii2
En programmation, il existe un concept très important appelé "suppression", c'est-à-dire qu'un objet A peut s'appuyer sur un autre objet B Pour compléter des fonctions spécifiques, une application typique est le modèle de stratégie.
Pour implémenter la « délégation », il doit y avoir un tel processus : injecter un autre objet B lorsque l'objet A est instancié ; A détient l'objet B ; l'objet A délègue l'objet B pour remplir une fonction spécifique.
« Injecter », « hold » et « déléguer » sont tous des mots très fréquents dans les modèles de conception. Grâce à ces opérations, les fonctions d'une classe peuvent être étendues.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!