Je suis nouveau dans le cadre Zend et j'ai une question de base. P>
suppose que je travaille avec layout.phtml ou avec l'index.phtml de tout script. p>
Quand j'utilise "$ ceci->" à quelle instance suis-je en train de faire? p>
J'ai lu dans un livre ce qui suit: "Ceci est disponible dans le fichier de modèle et c'est la passerelle de la fonctionnalité de Zend_View". P>
Cela signifie-t-il que je peux accéder à n'importe quelle méthode, de toute classe qui réside dans n'importe quel fichier dans le répertoire de la bibliothèque / Zend / View / APPARTEMENT? P>
Excusez-moi si cette question est assez stupide et / ou assez simple. P>
merci p>
5 Réponses :
Essayez $ ceci -> code> dans un modèle de vue est une référence à l'objet Zend_View que vous créez dans votre contrôleur. P>
var_dump ($ this) code> ou
print_r ($ this) code> (echo sorti un
Généralement, vous allez attribuer un peu de données à l'objet de la vue à l'intérieur d'une action de contrôleur à l'aide de quelque chose comme: dans votre script de vue, vous accédez normalement à ces données à l'aide de quelque chose comme: P> <?php echo $this->doctype() . "\n"; ?>
<html>
<head>
<?php echo $this->headMeta() . "\n" ?>
<?php echo $this->headLink() . "\n" ?>
<!--[if lt IE 8]>
<link rel="stylesheet" href="/css/blueprint/ie.css" type="text/css" media="screen, projection" />
<![endif] -->
</head>
Excellente réponse, mais cela ne fait pas référence à la question de l'OP. Vous avez expliqué comment utiliser la pseudo variable de la pseudo plutôt que quel objet il fait référence.
@vascowhite Vous êtes correct, j'ai référencé l'objet Affichage plusieurs fois mais n'a jamais expliqué ce que l'objet d'affichage était. Bien que je pense qu'entre nous deux, il a eu un cours de crash dans ce que c'est et comment l'utiliser. :) Même l'argent, j'ai répondu à la question qu'il voulait demander. ;)
Lorsque vous utilisez Zend_Controller_action garantit que votre objet de vue a accès à des aides de vue dont il a besoin. Donc, oui, vous avez accès à tous les aides au répertoire de la bibliothèque / Zend / Zend / Affichage / Aide via le Vous avez également accès à tous les aides que vous avez Ecrivez-vous et placez-vous dans le répertoire Application / Vues / Aideurs via Incidemment, vous avez également un accès direct de la même manière à tout filtres Vous placez dans le répertoire Application / Vues / Filters comme vous pouvez le constater à partir de la DOCBLOCK pour initview () dans Zend / Controller / Action.php. P> $ Ceci est code> dans un fichier .phtml, vous vous référez à une instance de zend_view . Cet objet est configuré pour vous par votre objet contrôleur qui est une instance de Zend_Controller_action .
$ CU code> variable. P>
$ CU code>. Voir le manuel sur écrire vos propres assistants . Une fois que vous avez commencé, vous les utiliserez tout le temps car il s'agit d'une méthode très simple et puissante de garder votre Code sèche . p>
/**
* Initialize View object
*
* Initializes $view if not otherwise a Zend_View_Interface.
*
* If $view is not otherwise set, instantiates a new Zend_View
* object, using the 'views' subdirectory at the same level as the
* controller directory for the current module as the base directory.
* It uses this to set the following:
* - script path = views/scripts/
* - helper path = views/helpers/
* - filter path = views/filters/
*
* @return Zend_View_Interface
* @throws Zend_Controller_Exception if base view directory does not exist
*/
public function initView()
Comme dit Veuillez voir la méthode rendu dans Zend_View Class P> $ Celui-ci code> est une instance de Zend_View.
public function render($name)
{
// find the script file name using the parent private method
$this->_file = $this->_script($name);
unset($name); // remove $name from local scope
ob_start();
$this->_run($this->_file);
return $this->_filter(ob_get_clean()); // filter output
}
En plus des autres réponses, $ CU CODE> vous aidera à utiliser les aides que vous définissez dans le répertoire
Application / View / View / Helper View / Helper de votre projet. Vous pouvez utiliser tous ces aides n'importe où dans le
.phtml code> ou les fichiers de vue de votre projet en les liant avec
zend_helper code> dans l'initializer. P>