簡體   English   中英

PHP類函數列表的注釋

[英]PHP Class Function List in Comments

每當我用PHP編寫類時,我都喜歡在此類的頂部放置一個公共函數列表,如下所示:

// add_project($apikey, $post, $email)
// create_user($apikey, $email, $firstname, $lastname, $rolename, $pid)     
// user_join_project($apikey, $email, $pid)

我想知道是否有任何工具可以自動化此過程。 就像我可以加載類文件一樣,它可以生成函數名稱,變量等的列表?

謝謝!

嘗試phpDocumentor 您使用DocBlock語法進行注釋(類似於Javadoc和其他語言),然后將PHP源文件通過phpDocumentor解析器傳遞,並為您生成API文檔。

一個粗略的例子:

/**
 * Adds a project.
 * 
 * @param string $apikey The API key.
 * @param object $post The post.
 * @param string $email A supplied email address.
 * @return void
 */
function add_project($apikey, $post, $email) {
    ...
}

這種方法沒有太多價值。

首先,如果您尚未這樣做,則應使用適當的可見性 (公共/受保護/私有)標記每個方法(實際上是成員變量)。 然后,您可以使用諸如phpDoc之類的解決方案,該解決方案除了為每個方法/類提供總體目的之外,還可以正確記錄每個方法的參數。

然后,您可以自動以HTML格式(以及其他格式)為項目生成文檔。

有各種各樣的工具可以做到這一點。 它們被稱為PHP documentor's。 我使用一個稱為PHPStorm的IDE,該IDE集成了一個文檔器。

這是有關PHPDoc的更多信息

使用Parsekit可以很容易地做到這一點

使用此(“ tmp.php”)作為示例數據:

<?php
class Fruit
{
    public function apple($cored) {}
    public function orange($peeled) {}
    public function grape($colour, $seedless) {}
}

這是一個簡單的Parsekit示例,用於轉儲類的函數:

<?php
$parsed = parsekit_compile_file($argv[1]);
foreach ($parsed['class_table'] as $class => $classdat) {
    foreach ($classdat['function_table'] as $func => $funcdat) {
        echo "{$class}::{$func}(";
        $first = true;
        foreach ($funcdat['arg_info'] as $arg => $argdat) {
            if (!$first) {
                echo ', ';
            }
            echo "\${$argdat['name']}";
            $first = false;
        }
        echo ")\n";
    }
}

…這里正在使用:

$ php parse.php tmp.php
Fruit::grape($colour, $seedless)
Fruit::orange($peeled)
Fruit::apple($cored)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM