Home Backend Development PHP Tutorial 一个让人会绕晕的逻辑

一个让人会绕晕的逻辑

Jun 13, 2016 pm 12:21 PM
html nbsp output web

一个让人能绕晕的逻辑

本帖最后由 tp_2015_3 于 2015-06-02 12:47:28 编辑 为了便于说明,我用不同的颜色自然段说明吧
这是一个关于定义数组的问题
是在一个框架中,首先在类中定义了一个整合数组的方法

/**
 * 输出模板内容的数组,其他的变量不允许从程序中直接输出到模板
 */
private static $output_value = array();

public static function output($output,$input=''){
self::getInstance();

self::$output_value[$output] = $input;
}

在实际应用中,在一个文件里,这样写的
//板块信息
$model_web_config = Model('web_config');
$web_html = $model_web_config->getWebHtml('index');
Tpl::output('web_html',$web_html);

接着在模板中这里写的

好我的问题来了:
通过上面一系列的计算获得了数组库中的数据,并把数据放在数组里了。此时在模板中的写法首先要知道这个数组叫啥名,然后通过下标配合就能获得数组中的对应值 了,这时我的疑问来了,这里为啥数组名叫$output呢?
这个名是随便起还是说有上下文的约定呢,我看了一下上文,没有这个名字的定义呢,就突然出现,所以让人目瞪口呆!何解?


我目前的理解:也许有人会说是这句Tpl::output('web_html',$web_html);话中的output说明了,我认为不是,因为这里它是一个方法名,而不是数组名!按说上面已经定义了/**
 * 输出模板内容的数组,其他的变量不允许从程序中直接输出到模板
 */
private static $output_value = array();,为啥这里不用$output_value做数组名,而是用$output来做数组名呢,
------解决思路----------------------
可能是在 Tpl::output 的函数里面定义了  $output 这个数组
------解决思路----------------------
可能是output方法中定义了
<br />$web_html = array('index'=>'xxx');<br />output('web_html',$web_html);<br /><br />function output($key, $value){<br />	global $output;<br />	$output[$key] = $value;<br />	return $output;<br />}<br />echo $output['web_html']['index'];<br />
Copy after login


------解决思路----------------------
可能其他地方赋值了,比如:$output = $output_value;
具体要看完整的类如何写的
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

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Nested Table in HTML Nested Table in HTML Sep 04, 2024 pm 04:49 PM

Nested Table in HTML

Table Border in HTML Table Border in HTML Sep 04, 2024 pm 04:49 PM

Table Border in HTML

HTML margin-left HTML margin-left Sep 04, 2024 pm 04:48 PM

HTML margin-left

HTML Table Layout HTML Table Layout Sep 04, 2024 pm 04:54 PM

HTML Table Layout

Moving Text in HTML Moving Text in HTML Sep 04, 2024 pm 04:45 PM

Moving Text in HTML

HTML Ordered List HTML Ordered List Sep 04, 2024 pm 04:43 PM

HTML Ordered List

HTML onclick Button HTML onclick Button Sep 04, 2024 pm 04:49 PM

HTML onclick Button

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

How do you parse and process HTML/XML in PHP?

See all articles