2013-01-07 39 views
3

我使用phpdocumentor爲我的項目生成文檔。它產生良好的文檔,我的功能,如:Phpdocumentor和Slim路由器文檔

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

,但我還沒有找到記錄的超薄(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+')); 

什麼是記錄這樣的事情正確的方式?

+0

API使用不是API文檔的一部分。您可以將代碼封裝在一個函數或方法中,並返回結果。 – Daniel

回答

0

來形容我的評論作爲一個答案我會爲您指出類似的東西來:

/** 
* 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+')); 
} 

但我不熟悉苗條,所以我不能保證這會在所有的工作。正如下面的評論所述,它不被推薦也不漂亮。

+1

更改代碼以讓'自動文檔'工作,聽起來像「把車放在馬前」 –

+0

是的,但它是在documentor或apigen中記錄這一點的唯一方法。我從來沒有說過它很漂亮,我也不明白爲什麼有人想要在源代碼中記錄這些。 – Daniel

+1

有幾個原因。有時您必須與第三方程序員合作,他們無法訪問api的源代碼,但他們仍然需要文檔來編寫客戶端代碼。 – andufo