【问题标题】:phpDocumentor and @global keywordphpDocumentor 和@global 关键字
【发布时间】:2011-09-30 20:51:52
【问题描述】:

在以下情况下我对@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 生成的文档下,将会很有用。

【问题讨论】:

    标签: php phpdoc


    【解决方案1】:

    实际上,您的 $instance 变量不在全局范围内,基于此代码...它仅对 MySpecialClass::display_template() 函数是本地的。

    如果你想在 template.php 文档页面中强调 $instance 变量对读者来说很重要,你可以在 template.php 的文件级文档块中使用 @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>
    

    【讨论】:

    • 我担心可能是这种情况。你知道向 phpdocumentor 添加一个新的自定义属性@local 是多么容易吗?
    • 我不确定你想通过使用像@local 这样的自定义标签来突出显示什么,但你当然可以让@local 出现在你的文档中。您可以通过在 --customtags 运行时选项中列出标签名称来配置 任何 类型的自定义标签(例如 @foo、@bar、@treehouse) -- manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/…
    • 感谢链接,我将对此进行试验。我只想突出显示模板脚本中的范围内的变量,以及它们的用途。
    猜你喜欢
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 2023-02-14
    • 2011-01-21
    • 1970-01-01
    • 2011-05-14
    相关资源
    最近更新 更多