这句怎么理解

WBOY
WBOYoriginal
2016-06-13 12:16:57967parcourir

这句如何理解

本帖最后由 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 />}
也可看到,$output 是作为数组的关联键出现的,显然关联键只能是标量。你不可能用数组(对象)做关联键的

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

Déclaration:
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