在下列情况下,我对@global
的使用是否正确?
// File: my_special_class.php
<?php
...
class MySpecialClass {
function display_template() {
// Following variable will be available from context of 'template.php':
$instance = array( 'title' => 'Test Page' );
include('template.php');
}
}
// File: template.php
<?php
/**
* Template for ...
*
* @copyright Me
* @version 1
*
* @global array $instance Template instance parameters.
*/
?>
<h1><?php echo $instance['title']; ?></h1>
有没有标准的记录方式?
这主要是提醒那些阅读代码的人,但如果这些信息也存在于phpDocumentor生成的文档中,那将会非常有用。
答案 0 :(得分:1)
实际上,你的$ instance变量不在全局范围内,基于这段代码......它只是MySpecialClass :: display_template()函数的本地变量。
如果你想从template.php文档页面强调,对于$ instance变量,读者有一些重要的东西,你可以在template.php的文件级docblock中使用@see标签(您当前拥有@global标记的位置)将读者指向设置$ instance的MySpecialClass函数:
<?php
/**
* Template for ...
*
* @copyright Me
* @version 1
*
* @see MySpecialClass::display_template() to see how $instance is populated
*/
?>
<h1><?php echo $instance['title']; ?></h1>