【问题标题】:Phpdocumentor and Slim routers documentationPhpdocumentor 和 Slim 路由器文档
【发布时间】:2012-12-21 04:25:16
【问题描述】:

我使用 phpdocumentor 为我的项目生成文档。它为我的功能生成了很好的文档,例如:

    /**
       * Hash generator
       *
       * Long description
       *
       * @param string $password Password
       * @return string
       */
    function generate_hash($password) {
        global $PASSWORD_SALT;
        return crypt($password, $PASSWORD_SALT);
    }

但我还没有找到一种方法来记录 slim(php 框架)的映射:

    /**
     * Delete news
     *
     * Delete news by id
     *
     * @link /news/delete/:id
     *
     */
    $app->get('/news/delete/:id', function ($id) use ($app) {
        $item = ORM::for_table('news')->find_one($id);
        if ($item)
            $item->delete();
        $app->redirect('/');
    })->conditions(array('id'=>'\d+'));

记录此类事情的正确方法是什么?

【问题讨论】:

  • API 使用不是 API 文档的一部分。您可以将代码包装在函数或方法中,然后返回结果。

标签: php routing documentation slim phpdoc


【解决方案1】:

为了将我的评论描述为答案,我会向您指出类似的东西:

/**
 * Delete news
 *
 * Delete news by id
 *
 * @link /news/delete/:id
 *
 */
public function deleteNewsByID (&$app, $id)
{
     return $app->get('/news/delete/:id', function ($id) use ($app) {
         $item = ORM::for_table('news')->find_one($id);
         if ($item)
             $item->delete();
         $app->redirect('/');
     })->conditions(array('id'=>'\d+'));
}

但我对 slim 不熟悉,所以我不能保证这会起作用。而且不推荐也不漂亮,如下面的cmets所述。

【讨论】:

  • 更改代码以让“自动文档”工作,听起来像是“本末倒置”
  • 是的,但这是在 documentor 或 apigen 中记录此内容的唯一方法。我从来没有说过它很漂亮,我也不明白为什么有人要在源代码中记录它。
  • 有几个原因。有时您必须与无法访问 api 源代码的第三方程序员合作,但他们仍然需要文档来编写客户代码。
  • 这是一个非常常见的 Slim 框架用于构建 REST API 的用例,该 API 的使用者需要一个 API 文档。非常直截了当。
猜你喜欢
  • 2015-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-12
  • 2020-12-30
相关资源
最近更新 更多