Home > Backend Development > PHP Tutorial > 这句怎么理解

这句怎么理解

WBOY
Release: 2016-06-13 12:16:57
Original
961 people have browsed it

这句如何理解

本帖最后由 phpcms2021 于 2015-03-27 11:02:54 编辑 //向模板抛出内容

 Tpl::output('brand_list',$brand_list);

主要是参数不理解,brand_list是一组值,还是一个值,我感觉应该是一组,因为如果一个就没有必要这样玩吧,因为是抛向模板

下面是output方法
/**
 * 抛出变量
 *
 * @param mixed $output
 * @param  void
 */
public static function output($output,$input=''){
self::getInstance();

self::$output_value[$output] = $input;
}
/**
 * 实例化
 *
 * @return obj
 */
public static function getInstance(){
if (self::$instance === null || !(self::$instance instanceof Tpl)){
self::$instance = new Tpl();
}
return self::$instance;
}

class Tpl{
/**
 * 单件对象
 */
private static $instance = null;
/**
 * 输出模板内容的数组,其他的变量不允许从程序中直接输出到模板
 */
private static $output_value = array();
/**
 * 模板路径设置
 */
private static $tpl_dir='';
/**
 * 默认layout
 */
private static $layout_file = 'layout';

private function __construct(){}

/**
 * 实例化
 *
 * @return obj
 */
public static function getInstance(){
if (self::$instance === null || !(self::$instance instanceof Tpl)){
self::$instance = new Tpl();
}
return self::$instance;
}

我主要是想明白,上面这些函数通过什么逻辑抛值的,并且是向模板中,看了发晕,逻辑上搞不明白
------解决思路----------------------
Tpl::output('brand_list',$brand_list); 中
'brand_list' 是单值(你不也看到他是用单引号括起的吗?),表示一个数据项。这样在模板中就可用 brand_list 这个名字取到数据

从定义
public static function output($output,$input=''){<br />  self::getInstance();<br />  self::$output_value[$output] = $input;<br />}
Copy after login
也可看到,$output 是作为数组的关联键出现的,显然关联键只能是标量。你不可能用数组(对象)做关联键的

多次执行 Tpl::output 就将多个数据集合置于其中了,注意:同名的关联键将是,后来的覆盖先到的

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template