Maison > développement back-end > tutoriel php > Le composant de vue du Zend Framework Zend_View

Le composant de vue du Zend Framework Zend_View

不言
Libérer: 2023-03-25 12:08:01
original
1214 Les gens l'ont consulté

Cet article présente principalement l'utilisation du composant vue Zend_View dans le tutoriel Zend Framework. Il analyse le principe du composant vue Zend_View plus en détail et analyse les compétences d'utilisation de Zend_View sous forme d'exemples.

Cet article illustre l'utilisation du composant de vue Zend_View dans le tutoriel Zend Framework. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Zend_View est le composant de vue de Zend Framework, la couche de vue dans MVC. Zend_View est aussi la page de l'application qui s'affiche directement à l'utilisateur. Nous présentons ici la classe d'implémentation de Zend_View et comment la combiner avec Controller.

Implémentation de View

L'implémentation de Zend_View est principalement implémentée via des classes dans le répertoire suivant :

root@coder-671T-M:/ bibliothèque/ Zend# arbre | grep View.php
│ └── View/
├── View.php

root@coder-671T-M:/library/Zend/View# arbre
.
├── Abstract.php
├── Exception.php
├── Helper
│ ├── Abstract.php
│ ├── Action.php
│ ├── BaseUrl.php
│ ├── Devise.php
│ ├── Cycle.php
│ ├── DeclareVars.php
│ ├── Doctype.php
│ ├── fieldset.php
│ ├── formbutton.php
│ ├fiquement Formcheckbox.php
│ ├fiquement. 🎜> │ ├── formFile.php
│ ├── formhidden.php
│ ├fique 🎜> │ ├── FormNote.php
│ ├── FormPassword.php
│ ├── Form.php
│ ├── FormRadio.php
│ ├── FormReset.php
│ ├── FormSelect.php
│ ├── FormSubmit.php
│ ├── FormTextarea.php
│ ├── FormText.php
│ ├── Gravatar.php
│ ├── HeadLink.php
│ ├── HeadMeta.php
│ ├── HeadScript.php
│ ├── HeadStyle.php
│ ├── HeadTitle.php
│ ├── HtmlElement.php
│ ├── HtmlFlash.php
│ ├── HtmlList.php
│ ├── HtmlObject.php
│ ├── HtmlPage.php
│ ├── HtmlQuicktime.php
│ ├── InlineScript.php
│ ├── Interface.php
│ ├── Json.php
│ ├── Layout.php
│ ├── Navigation
│ │ ├── Breadcrumbs.php
│ │ ├── HelperAbstract.php
│ │ ├── ─ Links.php│ │ └─ ─ Exception.php
│ ├── Partialloop.php
│ ├fique 🎜>│ │ └── Registry.php
│ ├── Placeholder.php
│ ├── RenderToPlaceholder.php
│ ├── ServerUrl.php
│ ├── TinySrc. php
│ ├── Translate.php
│ ├── Url.php
│ └── UserAgent.php
├ ── Interface.php
└── Stream.php

6 répertoires, 70 fichiers


Intégration de Zend_View et Zend_Controller


Principalement dans la classe In Zend_Controller_Action,






Classe Zend_View.php





Par défaut, le contrôleur instanciera automatiquement Zend_View via la méthode de rendu, puis restituez-le dans le fichier de vue correspondant. Bien sûr, vous pouvez instancier Zend_View vous-même et ensuite l'utiliser.

action默认指向的文件是和action的名称相同,如果要指定视图文件,可以通过$this->render的相关方法指定.也可以通过addScriptPath和setScriptPath设置视图文件的目录。

例如

$view = new Zend_View();
$view->addScriptPath('/www/app/myviews');
$view->addScriptPath('/www/app/viewscomm');
// 如果调用 $view->render('example.php'), Zend_View 将
// 首先查找 "/www/app/myviews/example.php", 找不到再找"/www/app/viewscomm/example.php", 如果还找不到,最后查找当前目录下/的"example.php".
Copier après la connexion

Zend_View的常用方法

public function __construct($config = array())
Copier après la connexion

构造函数参数

例如

array(
 'escape' => array(),
 'encoding' => array(),
);
Copier après la connexion

常见key:

escape、encoding、basePath、basePathPrefix、scriptPath、helperPath、 helperPathPrefix、filterPath、filterPathPrefix、filter
public function getEngine() Return the template engine object

public function init()初始化函数

/**
* Given a base path, sets the script, helper, and filter paths relative to it
*
* Assumes a directory structure of:
* <code>
* basePath/
*   scripts/
*   helpers/
*   filters/
* </code>
*
* @param string $path
* @param string $prefix Prefix to use for helper and filter paths
* @return Zend_View_Abstract
*/
public function setBasePath($path, $classPrefix = &#39;Zend_View&#39;)
/**
* Given a base path, add script, helper, and filter paths relative to it
*
* Assumes a directory structure of:
* <code>
* basePath/
*   scripts/
*   helpers/
*   filters/
* </code>
*
* @param string $path
* @param string $prefix Prefix to use for helper and filter paths
* @return Zend_View_Abstract
*/
public function addBasePath($path, $classPrefix = &#39;Zend_View&#39;)
public function addScriptPath($path)Adds to the stack of view script paths in LIFO order.
public function setScriptPath($path) Resets the stack of view script paths.
public function getScriptPath($name)Return full path to a view script specified by $name
public function getScriptPaths()Returns an array of all currently set script paths
public function addHelperPath($path, $classPrefix = &#39;Zend_View_Helper_&#39;)Adds to the stack of helper paths in LIFO order.
public function setHelperPath($path, $classPrefix = &#39;Zend_View_Helper_&#39;)Resets the stack of helper paths.
public function getHelperPath($name) Get full path to a helper class file specified by $name
public function getHelperPaths()Returns an array of all currently set helper paths
public function getHelper($name) Get a helper by name
public function getHelpers()Get array of all active helpers
public function getAllPaths() Return associative array of path types => paths
public function setEscape($spec)
/**
* Assigns variables to the view script via differing strategies.
*
* Zend_View::assign(&#39;name&#39;, $value) assigns a variable called &#39;name&#39;
* with the corresponding $value.
*
* Zend_View::assign($array) assigns the array keys as variable
* names (with the corresponding array values).
*
* @see  __set()
* @param string|array The assignment strategy to use.
* @param mixed (Optional) If assigning a named variable, use this
* as the value.
* @return Zend_View_Abstract Fluent interface
* @throws Zend_View_Exception if $spec is neither a string nor an array,
* or if an attempt to set a private or protected member is detected
*/
public function assign($spec, $value = null)
Copier après la connexion

在controller的action可以通过assign传递参数到视图脚本。

例如

$this->view->assign(&#39;roles&#39;, $roles);
$this->view->assign(&#39;num&#39;, $num);
$this->view->assign(&#39;a&#39;, $a);
Copier après la connexion

或者也可以用

$this->view->roles=$roles;
$this->view->a=$a;
public function render($name) Processes a view script and returns the output.
public function escape($var):Escapes a value for output in a view script.
public function setEncoding($encoding) Set encoding to use with htmlentities() and htmlspecialchars()
public function getEncoding() :Return current escape encoding
Copier après la connexion

视图脚本文件中的常见用法

获取传递过来的值

$this->roles
Copier après la connexion

使用一些常见的助手方法:

$this->baseUrl();
$this->url();
$this->paginationControl();
$this->partial()
Copier après la connexion

视图常见用法举例

在bootstrap初始化view或者controller的init文件中

/**
 * Initialize the common view helper
 */
protected function _initViewHelper()
{
  $boot=$this->bootstrap(&#39;View&#39;);
  $view = $boot->getResource(&#39;View&#39;);
        $view->setHelperPath(&#39;Sql/View/Helper&#39;, &#39;Sql_View_Helper&#39;);
}
Copier après la connexion

action中

/**
 *
 * @return void
 */
public function listAction()
{
  $this->view->assign(&#39;data&#39;, $data);
}
Copier après la connexion

视图文件

list.phtml

<?php foreach ($this->data as $item) : ?>
<tr style="height: 19px;">
    <td class="datagrid-cell"><?php echo($item->item1);?></td>
</tr>
<?php endforeach; ?>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal