模板赋值

您正在阅读旧版文档,新版文档已迁移至 [https://document.pescms.com]

目录

调用了模板,可模板没有任何业务变量可用。这个时候我们需要将控制器上的业务变量赋值给模板使用。模板赋值,使用 assign() 方法。该方法只能在控制器中使用。

参数说明备注
$name赋给模板调用的变量名称必填
$value控制器上的业务变量
非必填

PHP的全局变量可以不赋值,直接在模板中调用:如$_SERVER、$_GET、$_POST、$_SESSION等。

在某个控制器有如下业务变量

<?php
...某控制器...
    public function index(){
        $content = array( 'title' => 'PESCMS', 'content' => '此处省略2的128次方字' );
        
        $list = array('0' => array(), '1' => array() ); //这是一个二维数组。太长了,大家知道就行了
        
        $url = $this->url('Home-Test-index');
        
        $this->assign($content);
        
        $this->assign('list', $list);
        
        $this->assign('url', $url);
    }

在对应的模板,上面三个赋值将可以输入如下变量:

$this->assign($content):

<?= $title ?> <?= $content ?>

当业务变量是一个数组。且将该变量放于赋值方法的第一个参数中,那么该数组内的第一级键值将会成为一个单独的变量。正如上面的$content数组中,键值title和content成为了模板变量。

$this->assign('list', $list);

<?= $list[0]['doc_title']; //list变量是一个数组,在这里我们输出他指定的内容值 ?>

$this->assign('url', $url);

<?= $url ?>

PESCMS DOC 文档系统
© Copyright 2015-2024. by the PESCMS DOC
耗时0.0224秒