2011-07-07 11 views
1

私の使用@globalは次のような場合に正しいですか?phpDocumentorと@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で生成されたドキュメントにも存在していれば便利です。

答えて

1

実際には、$ instance変数はこのコードに基づいてグローバルスコープにはありません。MySpecialClass :: display_template()関数に対してのみローカルです。

template.phpのドキュメントページから、$ instance変数に関して重要な点があることを強調したい場合は、template.phpのファイルレベルのdocblockに@seeタグを使用できます(現在@globalタグを持っている場所)$ instance:

<?php 
/** 
* Template for ... 
* 
* @copyright Me 
* @version 1 
* 
* @see MySpecialClass::display_template() to see how $instance is populated 
*/ 
?> 
<h1><?php echo $instance['title']; ?></h1> 
+0

私は心配していたかもしれないと心配しました。 phpdocumentorに新しいカスタム属性 '@ local'を追加するのは簡単でしょうか? –

+0

@localのようなカスタムタグを使って強調表示しようとしているものがわかりませんが、確実にあなたのドキュメントに@localを表示させることができます。 --customtagsランタイムオプション - http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentorにタグ名を列挙することにより、カスタムタグ(例えば@foo、@bar、@treehouse)を構成することができます/tutorial_phpDocumentor.howto.pkg.html#using.commandline.customtags – ashnazg

+0

リンクをありがとうございます。私はそれを試してみます。テンプレートスクリプトでどの変数が有効であるか、その目的は何かを強調したいだけです。 –