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 🙂
Hicham :
Oui en effet, dans le cas ou on utilise peu de variables, ta méthode est même préférable.