Normalmente se asignará algún bit de datos al objeto vista interior de una acción del controlador usando algo como:
$form = My_Form;
//assign My_Form to the view object
$this->view->form = $form;
en su script de vista que normalmente acceder a esos datos usando algo como:
//this bit of code would display your whole form in the view script
//along with any layout information contained in your layout file
<?php echo $this->form ?>
también se pueden asignar elementos al objeto de vista desde el programa de arranque y estos elementos estarán disponibles para el diseño o ver los guiones. Aquí está un ejemplo:
protected function _initView() {
//Initialize view
$view = new Zend_View();
//get doctype from application.ini
$view->doctype(Zend_Registry::get('config')->resources->view->doctype);
$view->headTitle('Our Home');
//get content-type from application.ini
$view->headMeta()->appendHttpEquiv('Content-Type',
Zend_Registry::get('config')->resources->view->contentType);
//add css files
$view->headLink()->setStylesheet('/css/blueprint/screen.css');
$view->headLink()->appendStylesheet('/css/blueprint/print.css', 'print');
$view->headLink()->appendStylesheet('/css/master.css');
$view->headLink()->appendStylesheet('/css/main.css');
$view->headLink()->appendStylesheet('/css/nav.css');
//add it to the view renderer
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper(
'ViewRenderer');
$viewRenderer->setView($view);
//Return it, so that it can be stored by the bootstrap
return $view;
ahora estos datos es el acceso al interior de un layout.phtml de esta manera:
<?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>
ahora está completo aquí es la versión manual de PHP de $ esto:
Dentro de los métodos de clase, las propiedades, las constantes y los métodos pueden ser a los que se accede utilizando el formulario $ this-> property (donde la propiedad es el nombre de la propiedad) a menos que el acceso sea a una propiedad estática dentro del contexto de un método de clase estática, en cuyo caso se accede usando el formulario self :: $ property. Vea Palabra clave estática para más información.
La pseudovariable $ está disponible dentro de cualquier método de clase cuando se llama a desde un contexto de objeto. $ esta es una referencia al objeto que llama (generalmente el objeto al que pertenece el método , pero posiblemente otro objeto, si el método se llama estáticamente desde el contexto de un objeto secundario).
Esto no es una explicación completa, pero espero que lo haya comenzado.
Excelente respuesta, pero en realidad no se refiere a la pregunta del OP. Usted ha explicado cómo usar $ this pseudovariable en lugar de a qué objeto se refiere. – vascowhite
@vascowhite estás en lo cierto. Hice referencia al objeto de vista varias veces, pero nunca expliqué cuál era el objeto de vista. Aunque creo que entre los dos obtuvimos un curso acelerado sobre qué es y cómo usarlo. :) Incluso dinero, respondí la pregunta que quería hacer. ;) – RockyFord