Maison  >  Article  >  développement back-end  >  Yii Framework Official Guide Series 9 - Notions de base : vues

Yii Framework Official Guide Series 9 - Notions de base : vues

黄舟
黄舟original
2017-02-11 09:38:401117parcourir



Une vue est un script PHP qui contient les principaux éléments d'interaction utilisateur. Elle peut contenir des instructions PHP, mais nous recommandons que ces instructions ne changent pas. modèle de données, et il est préférable de le garder simple (uniquement sous forme de vue). Afin de parvenir à une séparation entre la logique et l'interface, de grandes sections de logique doivent être placées dans le contrôleur ou le modèle plutôt que dans la vue.

Une vue a un nom, qui est utilisé pour identifier le fichier de script de vue lors du rendu. Le nom de la vue est le même que le nom de son script de vue. Par exemple : le nom de la vue edit provient d'un fichier de script nommé edit.php. Pour le rendu, vous devez appeler CController::render(). en passant le nom de la vue. Cette méthode recherchera le fichier de vue correspondant dans le répertoire protected/views/ControllerID

Dans le script de vue, nous pouvons accéder à l'instance du contrôleur via $this. Nous pouvons accéder à l'instance du contrôleur via $this->. ; propertyName ou obtenir n'importe quelle propriété du contrôleur.

Nous pouvons également transmettre des données à la vue en utilisant la méthode push suivante :


$this->render('edit', array(
    'var1'=>$value1,
    'var2'=>$value2,
));

Dans la méthode ci-dessus, la méthode render() va extraire le deuxième paramètre du tableau dans une variable. Le résultat est que dans le script de vue, on peut accéder directement à la variable $ var1 et. $var2.

1. Mise en page

La mise en page est un fichier de vue spécial utilisé pour décorer les vues. Il contient généralement une partie commune de la vue dans l'interface utilisateur. Par exemple : la mise en page peut contenir un en-tête et un pied de page. partie, puis intégrez le contenu à l'intérieur


......header here......
<?php echo $content; ?>
......footer here......

$content stocke le rendu du contenu. voir le résultat.

Lors de l'utilisation de render() , la mise en page est appliquée implicitement. Le script de vue protected/views/layouts/main.php est le fichier de mise en page par défaut. Il peut être personnalisé en modifiant CWebApplication::layout ou CWebApplication::layout . Pour restituer une vue sans mise en page, vous devez appeler renderPartial() .

2. Widget

Un widget est une instance de CWidget ou de sa sous-classe. C'est un composant principalement utilisé pour représenter des données. Les widgets sont souvent intégrés dans le but de produire des interfaces utilisateur complexes et indépendantes. Par exemple, un widget de calendrier peut être utilisé pour afficher une interface de calendrier complexe. Les gadgets rendent les interfaces utilisateur plus réutilisables.

Nous pouvons utiliser un widget comme suit :


<?php $this->beginWidget('path.to.WidgetClass'); ?>
...可能会由小物件获取的内容主体...
<?php $this->endWidget(); ?>

ou


<?php $this->widget('path.to.WidgetClass'); ?>

Ce dernier est utilisé pour les composants qui ne nécessitent aucun contenu corporel.

Le widget peut être configuré pour personnaliser ses performances. Cela se fait en appelant CBaseController::beginWidget ou CBaseController::widget pour définir la valeur de sa propriété d'initialisation. Par exemple, lors de l'utilisation du widget CMaskedTextField, nous souhaitons spécifier le masque à utiliser (qui peut être compris comme un format de sortie). 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 :


<?php
$this->widget('CMaskedTextField',array(
    'mask'=>'99/99/9999'
));
?>

Héritez CWidget et remplacez ses méthodes init() et run(), vous pouvez Définir un nouveau widget :


class MyWidget extends CWidget
{
    public function init()
    {
        // 此方法会被 CController::beginWidget() 调用
    }

    public function run()
    {
        // 此方法会被 CController::endWidget() 调用
    }
}

Le widget peut le posséder comme une propre vue d'un contrôleur. Par défaut, les fichiers de vue des widgets se trouvent sous le sous-répertoire views du répertoire contenant les fichiers de classe de widget. Ces vues peuvent être rendues en appelant CWidget::render(), un peu comme les contrôleurs. La seule différence est que la vue du widget ne prend pas en charge les fichiers de mise en page. De plus, le $this dans la vue du widget pointe vers l'instance du widget au lieu de l'instance du contrôleur.

3. Vue système

Le rendu de la vue système est généralement utilisé pour afficher les erreurs Yii et les informations de journal. Par exemple, lorsqu'une demande utilisateur provient d'un contrôleur ou d'une action inexistante, Yii lèvera une exception pour expliquer l'erreur. À ce moment, Yii utilisera une vue système spéciale pour afficher l'erreur.

La dénomination des vues système suit certaines règles. Par exemple, un nom comme errorXXX est utilisé pour afficher la vue CHttpException affichant le numéro d'erreur XXX. Par exemple, si CHttpException renvoie une erreur 404, alors error404 sera affiché.

Sous framework/views , Yii fournit une série de vues système par défaut. Ils peuvent être personnalisés en créant un fichier de vue du même nom sous protected/views/system .

Ce qui précède est la série 9 du guide officiel du framework Yii - Connaissances de base : afficher le contenu Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn