Comme les frameworks de développement d'applications habituels, Yii Framework fournit également un ensemble de widgets d'interface utilisateur (CWidget) pour aider les programmeurs à concevoir des interfaces utilisateur. Le groupe est une instance de CWidget ou de sa sous-classe. Il est principalement utilisé pour la présentation des composants de données. sont souvent intégrés dans une vue pour produire une interface utilisateur complexe et indépendante. Par exemple, un widget de calendrier peut être utilisé pour restituer une interface de calendrier complexe. Les widgets rendent les interfaces utilisateur plus réutilisables.
Nous pouvons utiliser un widget en fonction. au script de vue suivant :
beginWidget('path.to.WidgetClass'); ?>
...Le corps du contenu pouvant être obtenu par le widget...
endWidget();
widget ('path.to.WidgetClass'); ? >;
peut être configuré pour personnaliser ses performances en appelant CBaseController::beginWidget ou CBaseController: :widget. définir la valeur de son attribut d'initialisation. Par exemple, lors de l'utilisation du widget CMaskedTextField, nous souhaitons spécifier le masque à utiliser. Nous faisons cela en passant un tableau portant les valeurs d'initialisation de ces propriétés. La clé du tableau ici est le nom de l'attribut, et la valeur du tableau est la valeur correspondant à l'attribut du petit objet. Comme indiqué ci-dessous :
Un widget peut avoir sa propre vue, tout comme un contrôleur. Par défaut, les fichiers de vue du widget sont situés dans le sous-répertoire vues du répertoire contenant les fichiers de classe du widget. Ces vues peuvent être rendues en appelant CWidget::render(), qui est très similaire au contrôleur. La vue du widget ne prend pas en charge les fichiers de mise en page. De plus, $this dans la vue widget pointe vers l’instance du widget plutôt que vers l’instance du contrôleur.$this->widget('CMaskedTextField',array('mask'=>'99/99/9999'));?>继承 CWidget 并覆盖其init() 和 run() 方法,可以定义一个新的小物件: class MyWidget extends CWidget{public function init(){// 此方法会被 CController::beginWidget() 调用}public function run(){// 此方法会被 CController::endWidget() 调用}}
Dans l'article précédent Tutoriel concis de développement du framework Yii (8) Utilisation de FormModel, il a été dit que les événements de soumission des utilisateurs sont traités via CController Par analogie avec les applications de bureau Windows ou ASP.Net, Yii View (formulaire HTML). Semblable à WinForm ou Asp.Net Page. La classe de contrôle Controller est similaire à la classe de traitement d'événements (Code-Behind) des applications de bureau Windows ou Asp.Net. À proprement parler, il n'est pas très approprié de comparer la vue (formulaire HTML) dans Yii à WinFrom sur le bureau Windows ou sur la page Asp.Net. En fait, l'intégralité du HTML (ou du corps) de la vue dans Yii est équivalente à WinForm ou Page. . HTML Form n'est qu'une sous-classe de CWidget, correspondant au composant d'interface utilisateur CActiveForm. De plus, Yii a intégré les types de CWidget suivants :
Parmi eux, CJuiWidget (encapsulant). JQuery) et CInputWidget sont divisés en For :
Les didacticiels suivants présenteront l'utilisation des widgets d'interface utilisateur fournis par Yii un par un en plus de ces interfaces utilisateur intégrées. widgets, Yii prend également en charge les widgets d'interface utilisateur personnalisés.
Ce qui précède est le contenu du tutoriel du cadre de développement PHP Yii Framework (9) Aperçu du widget du widget d'interface utilisateur Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !