[英]How should I autoload WordPress plugin classes using composer for testing?
我正在按照WordPress編碼標准開發WordPress插件。
這是插件的當前結構:
.
├── includes
├── languages
├── views
├── class-plugin-admin.php
├── class-plugin.php
└── plugin.php
就是說,我想使用Composer自動加載器加載兩個類(用於單元測試)。
今天,我一直在像這樣加載它們:
"autoload-dev": {
"files": [
"class-plugin.php",
"class-plugin-admin.php"
]
}
但是,不確定此方法是否是最佳方法。
所以這是問題:
您不需要,但是可以。 它無疑使開發插件變得容易得多,我建議這樣做。
如您所指出的,您可能已經進行了測試,所以為什么不繼續進行結構調整,使其類似於以下內容:
.
├── includes
├── languages
├── src
│ ├── Plugin.php
│ └── PluginAdmin.php
├── test
│ ├── PluginAdminTest.php
│ ├── PluginTest.php
│ └── phpunit.xml
├── views
├── composer.json
└── plugin.php
注意,我調整了類名,因為理想情況下,您可能希望對類使用某種方式的PSR-4自動加載。
供參考,請參閱:
這在很大程度上取決於您是否要將類移動到子目錄。 假設您這樣做了,並假設您使用Toally\\Amazing
作為類的名稱空間前綴:
使用PSR-4自動裝帶器:
{
"autoload-dev": {
"Totally\\Amazing\\": "src/"
}
}
供參考,請參閱:
列出包含類的目錄:
{
"autoload-dev": {
"classmap": [
"src/",
]
}
}
供參考,請參閱:
自己決定哪個對您最有意義!
如您所見,我使用autoload-dev
部分來指示composer
自動加載僅與開發相關,而與生產無關。 您仍然需要
plugin.php
類或 plugin.php
為您的類實現自動加載 看一眼
其中提供了從插件自動加載類的相應示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.