星期二, 30 5 月, 2023
No Result
View All Result
育心文具行

育心文具行

  • 首頁
  • 創作x紀錄
  • 心得x體驗
  • 筆記x備忘
  • 閒談x雜記
  • 當紅俱樂部
  • 留言給我
育心文具行
  • 首頁
  • 創作x紀錄
  • 心得x體驗
  • 筆記x備忘
  • 閒談x雜記
  • 當紅俱樂部
  • 留言給我
No Result
View All Result
育心文具行
Home 筆記x備忘

透過 phpdoc 套件生成 PHP 文件

以 codeigniter 4 為例

2023-05-14
in 筆記x備忘
Reading Time:1 min read
Share on FacebookShare on Twitter

前後端分離的實作中,會有遇到後端需要給前端 API 文件的需求,透過 phpdoc 的 PHP 工具可以將註解轉換成可讀的文件網頁,這樣基本只要把註解寫好文件也就差不多完成了(?)。

有幾點要注意:

  1. 執行的環境需要能夠使用 PHP,不推薦使用 composer 安裝(據官方稱很容易衝突)。
  2. 我建議先把設定檔做好,再依照設定檔案跑會比較輕鬆,這邊提供一組範例。
  3. 把設定檔放在根目錄外面是好習慣。
  4. 配置完成後,於相同目錄下執行以下指令產生文件:
    phpdoc
  5. 文件中關於設定標籤 visibilities 有些錯誤,設定檔案的配置上建議還是要多試看看才知道。
  6. API 中常用的 post/get 方法,參數的引用不太適合用 @param,即便註解了也會顯示不出來,我查 stackoverflow 是推薦用 @uses 。
  7. 因為這是 php 文件,不是 HTTP API 文件,所以還是會存在溝通成本的,包含呼叫路徑的操作,這可能有賴於後續研究和嘗試自定義的調整。如果要生成 OpenAPI 格式,可以參考這個套件(有夠麻煩)。

—

我使用的是 phpdoc  3.0 版本。

docs.phpdoc.org
phpDocumentor

安裝操作的部分,我使用的是 phar 安裝,好處就是可以裝到 global 環境:

首先先把 phar 檔案下載下來:

wget https://phpdoc.org/phpDocumentor.phar

變更權限:

chmod +x phpDocumentor.phar

然後改名,移動到 global 的環境上(這裡以 mac 為例):

mv phpDocumentor.phar /usr/local/bin/phpdoc

是否要移動到 global 環境取決於看有沒有要 project base ,這和 composer 的安裝類似,如果不是 mac 但不知道要移動到哪裡可以參考這個文件。

接著有基本參考 phpdoc 的文件就能運作了。他有很多功能,以下附上不負責翻譯:

 

而我是在 Codeigniter4 中實作,所以我會把路徑放在 ci4 的根目錄外面,假設 ci4 在 www/ 之中,我就放在外面,此時 source 的 dsn 會設定:

"./www/app/Controllers/"

而生成文件的設定也相對會設定在根目錄之外,參考範例。好處是避免文件因人為疏失變成公開的資安危機,壞處則是必須要額外設定路徑或網域來指向他提供給其他人閱讀。

而我的策略則是將該份生成文件納入版本控制之中,提供給前端,讓前端 pull 下來以後就直接用本地電腦打開來閱讀使用。

附上設定檔案範例(最後更新 2023-05-13):

推廣一下,要養成打註解的好習慣,不只是給未來的自己看,如今加上一個可以給前端看的服務,這樣打註解的動力應該會更高了。

參考資料:

PHP 註解的 tag 參考:

docs.phpdoc.org
phpDocumentor

Phpdoc 設定文件:

docs.phpdoc.org
phpDocumentor

Phpdoc 設定文件說明:

docs.phpdoc.org
phpDocumentor

 

Tags: phpdocPHP註解轉文件
Share22Tweet14
Previous Post

DNSSEC Cloudflare 與 Godaddy 設定

Next Post

將現成的 git repo 添加現成的專案資料夾

Next Post

將現成的 git repo 添加現成的專案資料夾

《原則》第一部讀書心得

《原則》第二部讀書心得

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Google reCAPTCHA 保護機制,這項服務遵循 Google 隱私權政策及服務條款。

全站搜尋

No Result
View All Result

關於我

育心文具行

Jerry Lin

程式設計師

育心文具行是一家文具店,老闆的小兒子是一個設計師,職業是設計程式,興趣是設計人,倒是還沒有實作的機會。
--
所有的相遇都不是巧合。
在廣告公司待了三年有兩年多在做內容產品,離職後繼續在內容產業走了四年多,最後選則離開台灣的公司體制在家 SOHO ,碰上了 2020 年疫情才知道原來自己這是走在時代的潮流尖端。 感謝許多老闆和貴人相助,至今目前尚能存活,在台北街頭努力著。

近期文章

  • 《原則》第二部讀書心得
  • 《原則》第一部讀書心得
  • 將現成的 git repo 添加現成的專案資料夾
  • 透過 phpdoc 套件生成 PHP 文件
  • DNSSEC Cloudflare 與 Godaddy 設定

分類

  • 創作x紀錄 (12)
  • 心得x體驗 (38)
  • 筆記x備忘 (30)
  • 閒談x雜記 (5)

贊助買咖啡

Facebook Instagram RSS

標籤

android axios bitbucket centos cloudflare dart dev dist f flutter gist git git hook hook ios line line api linode linux MAC php pinia push QBQ!問題背後的問題 serverless ubuntu vps vue vue.js vue3 wordpress workers 原則 原子習慣 團隊,從傳球開始 團隊,從傳球開始:五百年都難以超越的 UCLA 傳奇教練伍登培養優越人才和團隊的領導心法 心得 權限 活動心得 自慢10 自慢10:18項修練 規格 調整硬碟空間 調整規格 讀書心得

文章分類

  • 創作x紀錄 (12)
  • 心得x體驗 (38)
  • 筆記x備忘 (30)
  • 閒談x雜記 (5)

近期文章

  • 《原則》第二部讀書心得
  • 《原則》第一部讀書心得
  • 將現成的 git repo 添加現成的專案資料夾
  • 透過 phpdoc 套件生成 PHP 文件
  • DNSSEC Cloudflare 與 Godaddy 設定

© 2020 hipster.crazyjerry.studio - a blog about experience, notes and nonsense, by Jerry Lin.

No Result
View All Result
  • 首頁
  • 創作x紀錄
  • 心得x體驗
  • 筆記x備忘
  • 閒談x雜記
  • 當紅俱樂部
  • 留言給我

© 2020 hipster.crazyjerry.studio - a blog about experience, notes and nonsense, by Jerry Lin.