Catégories
PHP

Des variables pour les vues dans CakePHP

Surement un des billets les plus courts que je vais rédiger, mais qui est en fait une petite astuce pour cakePHP. Elle va vous permettre de definir une/des variable(s) qui seront accessibles au sein de vos vues (V). La méthode classique consiste à set() ces variables au sein des controlleurs (C) afin de les récupérer dans vos vues. Mais dans certains cas, vous aurez besoin d’avoir accès à ces variables dans n’importe laquelle de vos vues. Voici donc comment procéder.

Attention, ca va être très très dur 😉

<?php
// {app}/views/app.php
class AppView extends View
{
	public $view_variable	= 'ma super variable';
 
}
?>

Dans votre {app}/app_controller.php

<?php
...
var $view 		= 'App';
...
?>

Et ensuite dans votre vue :

<?php e($this->view_variable);?>

C’est tout pour aujourd’hui, nous allons voir prochainement comment tirer profit de cette astuce pour mettre en place un helper de linking auto.

P.S. : Pour ceux qui se posent la question, e() est un alias de echo.
Pour être au top et connaitre encore plus d’astuces sur CakePHP, je vous conseille de lire cette excellente cheat sheet.

2 réponses sur « Des variables pour les vues dans CakePHP »

Merci pour l’astuce mais je crois que de définir la variable dans une méthode beforeFilter de la classe AppController faira l’affaire 🙂

set('view_variable', 'ma super variable');
  }
}
?>

Hicham :
Oui en effet, dans le cas ou on utilise peu de variables, ta méthode est même préférable.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *