Affichage de classes

Pour un aperçu plus approfondi de vues voir Général / Vues.

Création d'une instance

Création d'une instance de la classe d'affichage.

$view = new View('bienvenu');

Configuration des données

Il existe plusieurs façons de passer des données dans votre point de vue.

Utilisation de la vue comme un objet:

// Chargement de la vue d'un objet 
$view = new View('yourview');
 
// Ajout de variables à l'objet qui sera affiché dans la vue
$view->title   = "Welcome to Kohana !";
$view->heading = "My Heading";
$view->content = "My content here.";
 
//------- ou --------
 
$view->set('title', "Welcome to Kohana !");
$view->set('heading', "My Heading");
$view->set('content', "My content here.");

Vous pouvez aussi fournir un tableau et les clés et valeurs seront traitées comme des variables:

// Chargement de la vue d'un objet 
$view = new View('yourview', array('title' => "Welcome to Kohana !"));

Méthodes

set()

set ()peut être utilisé pour définir une variable dans une vue. Vous pouvez aussi fournir un tableau et les clés et valeurs seront traitées comme des variables. $ this→ your_variable view→ peut être utilisé pour faire la même chose.

$view = new View('welcome');
 
$view->set('title', 'Elvis lives');

bind()

bind() est définie comme la variable attribué par référence.

$view = new View('welcome');
 
$var='Some value';
 
$view->bind('title', $var);
 
$var='Another value';
 
$view->render(true); //The 'title' variable will contain 'Another value'

set_global()

set_global() est l'ensemble des variables définies disponibles dans toutes les vues. Cela signifie que vous pouvez l'utiliser avec des vues en vues, par exemple.

// loading views
$view = new View('page');
$view->header = new View('header');
 
// setting variables in all views
$view->set_global('title', 'Title of page'); // set variable $title for example in view header.php
 
$view->render(TRUE);

is_set()

is_set() peut être utilisé pour vérifier si une variable est déjà définie. Vous pouvez aussi fournir un tableau avec les clés à vérifier.

$view = new View('welcome');
 
if($view->is_set('title'))
{
    $view->set('title', 'OHAI!');
}

render()

render() rend la sortie de la vue.

// rendre et stocker, par défaut, pas de sortie navigateur
$this->template->content = $this->session->get_once('message').$content->render(); 
 
// sortie du rendu de la vue de navigateur
$this->template->render(TRUE); 

factory()

Cette méthode est statique. Les paramètres sont les mêmes que la création d'une nouvelle instance.

Il crée une instance de View et retourne immédiatement afin que la méthode de chaînage soit possible.

public function _add_breadcrumb()
{
    $crumbs = View::factory('admin/breadcrumb')
        ->set('crumbs', html::breadcrumb())
        ->render();
 
    $this->template->content = $crumbs.$this->template->content;
}

set_filename()

set_filename() définit le nom du fichier utilisé pour la vue.

$view=new View;
 
if(request::is_ajax()) //request helper also exists in 2.2
{
   $view->set_filename('ajax_view');
}
else
{
   $view->set_filename('html_view');
}
 
$view->render(TRUE);
core/view.txt · Dernière modification: 15/03/2011 20:41 par alban
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0