Les composants
sont les principaux éléments constitutifs des applications Yii. Est une instance de la classe yiibaseComponent ou de ses sous-classes. Les trois fonctions principales utilisées pour la distinguer des autres classes sont :
Property (Apprentissage recommandé : yii framework)
Event (Event)
Comportement (Behavior)
Soit utilisées seules, soit en conjonction les unes avec les autres, l'application de ces fonctions rend les classes Yii plus flexibles et plus faciles à utiliser. Prenons l'exemple du widget yiijuiDatePicker. Il s'agit d'un composant d'interface utilisateur qui vous permet de générer un sélecteur de date interactif dans une vue?:
use yii\jui\DatePicker; echo DatePicker::widget([ 'language' => 'zh-CN', 'name' => 'country', 'clientOptions' => [ 'dateFormat' => 'yy-mm-dd', ], ]);use yii\jui\DatePicker; echo DatePicker::widget([ 'language' => 'zh-CN', 'name' => 'country', 'clientOptions' => [ 'dateFormat' => 'yy-mm-dd', ], ]);
Ce widget hérite de yiibaseComponent et ses propriétés peuvent être facilement réécrites.
Précisément en raison des fonctions puissantes des composants, ils sont légèrement plus lourds que les objets ordinaires (Object) car ils utilisent de la mémoire et du temps CPU supplémentaires pour traiter les événements et les comportements.
Si vous n'avez pas besoin de ces deux fonctions, vous pouvez hériter de yiibaseObject au lieu de yiibaseComponent. De cette fa?on, le composant peut être aussi efficace qu'un objet PHP normal, tout en prenant également en charge la fonction de propriété.
Lors de l'héritage de yiibaseComponent ou yiibaseObject, il est recommandé d'utiliser le style de codage suivant?:
Si vous devez remplacer le constructeur (Constructor), transmettez $config en tant que constructeur Le dernier paramètre de la méthode constructeur, puis transmettez-le au constructeur de la classe parent.
Appelez toujours le constructeur de la classe parent à la fin de votre constructeur remplacé.
Si vous remplacez la méthode yiibaseBaseObject::init(), assurez-vous d'appeler la méthode init de la classe parent au début de la méthode init.
<?php namespace yii\components\MyClass; use yii\base\BaseObject; class MyClass extends BaseObject { public $prop1; public $prop2; public function __construct($param1, $param2, $config = []) { // ... 在應(yīng)用配置之前初始化 parent::__construct($config); } public function init() { parent::init(); // ... 應(yīng)用配置后進(jìn)行初始化 } }
De plus, afin que le composant soit configuré correctement lors de la création d'une instance, veuillez suivre le processus d'opération suivant :
$component = new MyClass(1, 2, ['prop1' => 3, 'prop2' => 4]); // 方法二: $component = \Yii::createObject([ 'class' => MyClass::className(), 'prop1' => 3, 'prop2' => 4, ], [1, 2])
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Yiiassetbundlesorganizeandmanagewebassetslikecss, javascript, etImagesInayiiApplication.1.TheySIMPLIFYDENSEPENDENCYMANGAGNEMENT, garantissant à la charge

Dans le cadre MVC, le mécanisme pour que le contr?leur rende les vues est basé sur la convention de dénomination et permet un écrasement explicite. Si la redirection n'est pas explicitement indiquée, le contr?leur trouvera automatiquement un fichier d'affichage avec le même nom que l'action pour le rendu. 1. Assurez-vous que le fichier d'affichage existe et est nommé correctement. Par exemple, le chemin de vue correspondant à l'émission d'action du contr?leur post-contr?leur doit être des vues / poteaux / show.html.erb ou des vues / poteaux / show.cshtml; 2. Utilisez un rendu explicite pour spécifier différents modèles, tels que render'custom_template 'in rails and view (' posts.custom_template ') dans Laravel

TOCREATEABASICROUTEINYII, FirstSetUpAcontrollerByPlacingIntheControllersDirectorywithPropernamingandClassDefinitionExtendingyii \ web \ Controller.1) CreateanactionwithIntheControllerByDefiningApublicMethodstartingWith "Action" .2) Configuration

Ayiidevelopper's Key Responsibilités comprenant la disposition des effections et les applications, assurant des applications, et optimisant la performance.qualifications needaeasstronggraspofphp, l'expérience avec deschnologies de databasemangas

La méthode de création d'opérations personnalisées dans YII est de définir une méthode commune à commencer par une action dans le contr?leur, accepter éventuellement les paramètres; ensuite traiter les données, rendre les vues ou renvoyer JSON au besoin; et enfin assurer la sécurité par le contr?le d'accès. Les étapes spécifiques incluent: 1. Créez une méthode préfixée avec l'action; 2. Définissez la méthode au public; 3. Peut recevoir des paramètres URL; 4. Processus des données telles que l'interrogation du modèle, le traitement des demandes de poste, la redirection, etc.; 5. Utilisez AccessControl ou vérifiez manuellement les autorisations pour restreindre l'accès. Par exemple, ActionProfile ($ id) peut être accessible via / site / profil? Id = 123 et rend la page de profil utilisateur. La meilleure pratique est

AyiidevelopercraftSwebapplications using thereyiiframework, obligementskillsinphp, yii-spécificknowledge, andwebdevelopmentlifecyclemanagement.keyResponsibilitys ye

TouseActiverrecorDinyiieffectively, vous créiez laclassement de la recherche detiné et de l'interact avec

L'enregistrement des événements de sécurité dans YII peut être réalisé en configurant des cibles de journal, en déclenchant des journaux d'événements clés, en considérant le stockage de la base de données et en évitant d'enregistrer des informations sensibles. Les étapes spécifiques sont les suivantes: 1. Définissez une cible de journal dédiée dans le fichier de configuration, telles que FileTarget ou DBtarget, et spécifiez la classification comme ?sécurité?; 2. Utilisez yii :: info () ou yii :: warning () pour enregistrer le journal lorsqu'un événement de sécurité critique (tel que l'échec de la connexion et la réinitialisation du mot de passe) se produit; 3. Stockez éventuellement les journaux dans la base de données pour la requête et l'analyse, et vous devez d'abord créer un tableau et configurer les paramètres LogTable; 4. évitez d'inclure des données sensibles, telles que des mots de passe ou des jetons lors de l'enregistrement des informations de contexte, et vous pouvez utiliser le remplacement des paramètres pour ajouter IP et nom d'utilisateur; 5
