目錄結構

plugin/
└── foo
    ├── app
    │   ├── controller
    │   │   └── IndexController.php
    │   ├── exception
    │   │   └── Handler.php
    │   ├── functions.php
    │   ├── middleware
    │   ├── model
    │   └── view
    │       └── index
    │           └── index.html
    ├── config
    │   ├── app.php
    │   ├── autoload.php
    │   ├── container.php
    │   ├── database.php
    │   ├── exception.php
    │   ├── log.php
    │   ├── middleware.php
    │   ├── process.php
    │   ├── redis.php
    │   ├── route.php
    │   ├── static.php
    │   ├── thinkorm.php
    │   ├── translation.php
    │   └── view.php
    ├── public
    └── api

應用程式插件擁有與 webman 相同的目錄結構與設定檔,實際開發體驗與開發一般 webman 應用程式幾乎沒有差異。

插件目錄與命名遵循 PSR-4 規範,由於插件皆放置於 plugin 目錄下,命名空間皆以 plugin 開頭,例如 plugin\foo\app\controller\UserController

關於 api 目錄

每個插件都有 api 目錄。若你的應用需要提供供其他應用呼叫的內部介面,請將介面放在 api 目錄中。

注意:此處所稱介面為函式呼叫介面,而非網路/HTTP 介面。

例如,郵件插件在 plugin/email/api/Email.php 提供 Email::send() 介面,供其他應用發送郵件時呼叫。另外,plugin/email/api/Install.php 由系統自動產生,供 webman-admin 插件市場執行安裝或解除安裝操作。