?
本文檔使用 php中文網(wǎng)手冊 發(fā)布
PHPDoc 是注釋 PHP 代碼的非正式標準。它有許多不同的標記可以使用。完整的標記列表和范例可以查看 PHPDoc 指南。
如下是撰寫類方法時的一種寫法:
<?php /** * @author A Name <a.name@example.com> * @link http://www.phpdoc.org/docs/latest/index.html */ class DateTimeHelper { /** * @param mixed $anything Anything that we can convert to a \DateTime object * * @throws \InvalidArgumentException * * @return \DateTime */ public function dateTimeFromAnything($anything){ $type = gettype($anything); switch ($type) { // Some code that tries to return a \DateTime object } throw new \InvalidArgumentException( "Failed Converting param of type '{$type}' to DateTime object" ); } /** * @param mixed $date Anything that we can convert to a \DateTime object * * @return void */ public function printISO8601Date($date){ echo $this->dateTimeFromAnything($date)->format('c'); } /** * @param mixed $date Anything that we can convert to a \DateTime object */ public function printRFC2822Date($date){ echo $this->dateTimeFromAnything($date)->format('r'); } }
這個類使用了 @author 和 @link 標記來為整個類添加說明。 @author 標記是用來說明代碼的作者,在多位開發(fā)者的情況下,可以同時列出好幾位作者。其次 @link 標記用來提供網(wǎng)站鏈接,進一步說明代碼和網(wǎng)站之間的關系。
在這個類中,第一個方法的 @param 標記,說明類型、名字和傳入方法的參數(shù)。此外,@return 和 @throws 標記分別說明返回類型以及可能拋出的異常。
第二和第三個方法非常類似,和第一個方法一樣使用了一個 @param 標記。第二、和第三個方法之間關鍵差別在注釋區(qū)塊使用/排除 @return 標記。@return void 標記明確告訴我們沒有返回值,而過去省略 @return void 聲明也具有相同效果(沒有返回任何值)。