2. Introduction
● Le mkframework utilise l’architecture MVC pour
Modèle Vue Controlleur
● Ici nous allons voir la partie Vue avec ce zoom
sur la classe _view()
3. Rappel du schéma
Sur le schéma du site, vous voyez que l’on instancie un objet _view() pour l’ajouter
au layout
4. Détaillons l’instanciation
● Lorsqu’on instancie une
vue, on passe en
paramètre le couple
module/nom de la vue
● Dans cette exemple : on
charge article/list
● Si on traduit cela donne
module/article/view/list.php
Par exemple
$oView=new _view('article::list');
article::list
module/article/view/list.php
5. Passons à l’assignation
●
On commence par instancier la
vue,
● puis on assigne une ou
plusieurs variables
●
La classe propose une
méthode show() pour afficher
la vue « compilée »
● Mais vous n’avez pas besoin
de l’utiliser, le framework s’en
charge pour vous
Par exemple
$oView=new _view('article::list');
$oView>maVariable='maValeur' ;
Par exemple le contenu de cette vue :
<p>Ma variable :
<strong>
<?php echo $this>maVariable;?>
</strong>
</p>
Ma variable : maValeur
6. Pour afficher une vue sur le site
● Plus exactement, c’est
pas le framework mais le
layout qui se chargera
d’appeler cette méthode
show()
● Pour afficher une vue, il
suffit de l’ajouter à un
emplacement du layout,
par exemple ici à
l’emplacement ‘main’
Par exemple
$oView=new _view('article::list');
$oView>maVariable='maValeur' ;
$this>oLayout>add('main',$oView);
Par exemple le contenu du layout :
<h1>Mon site </h1>
<div>
<?php echo $this>load('main');?>
</div>
Mon site
Ma variable : maValeur
7. Pour afficher une vue sur le site
● Plus exactement, c’est
pas le framework mais le
layout qui se chargera
d’appeler cette méthode
show()
● Pour afficher une vue, il
suffit de l’ajouter à un
emplacement du layout,
par exemple ici à
l’emplacement ‘main’
Par exemple
$oView=new _view('article::list');
$oView>maVariable='maValeur' ;
$this>oLayout>add('main',$oView);
Par exemple le contenu du layout :
<h1>Mon site </h1>
<div>
<?php echo $this>load('main');?>
</div>
Mon site
Ma variable : maValeur