2010-08-03 10 views
0

équivalent pur dwoo serait:Dwoo/codeigniter: Existe-t-il un moyen d'assigner des données de php aux modèles dwIDE de vars dwars?

$dwoo->output('DwooTest/index', array('assignedVar' => 'Hello')); 

(je suis en fait l'utiliser avec CodeIgniter - avec la bibliothèque de Phil Sturgeon):

$this->dwooParser->parse('DwooTest/index', array('assignedVar' => 'Hello')); 

puis à l'intérieur index.php

{$assignedVar} //outputs 'Hello' 

<?php 
    $localVar = 'LocalVar'; 
?> 

{$localVar} //output: error 

Est il y a un moyen de passer des données de php à l'intérieur du modèle à un dwoo var? Pourquoi j'utilise ceci parce que j'ai une vue qui a besoin d'un pré-traitement de sortes (sorte de vue avancée, donc je ne veux pas mettre le traitement à chaque fois dans le contrôleur), dans le fichier index.php un

require 'index.h.php' //(notation inspired from c++ header files) 

Conformément à l'exemple ci-dessus, index.h.php traiterait assignedVar $, et de mettre les données dans localvar $, l'affichage des données se déroulerait à l'intérieur du index.php modèle.

(également sur une note de côté, où se trouve la documentation de cette chose Dwoo ... Je veux dire que wiki ... qui est-il?)

Répondre

1

que les variables locales sont enregistrées dans une variable interne du Dwoo objet pendant que le modèle est exécuté. Le code du template réel est exécuté dans le contexte de l'objet Dwoo, donc vous avez accès à ses méthodes depuis php en utilisant $ this.

La méthode que vous voulez dans ce cas est assignInScope($val, $scope) qui lui attribuer en tant que tel par exemple:

<?php $this->assignInScope('Hello', 'localVar'); ?> 
{$localVar} // outputs Hello 

Vous pouvez également lire avec readVar($name), i.e. .:

<?php echo $this->readVar('localVar'); ?> // outputs Hello again