目次構造
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の通常のアプリケーションと基本的に違いはありません。
プラグインのディレクトリ及び命名はPSR4規範に従っています。プラグインがすべてpluginディレクトリに置かれているため、名前空間はすべてpluginから始まります。例えばplugin\foo\app\controller\UserController
。
apiディレクトリについて
各プラグインにはapiディレクトリがあり、あなたのアプリが他のアプリに呼び出す内部インターフェースを提供する場合、インターフェースをapiディレクトリに置く必要があります。
注意が必要なのは、ここで言うインターフェースは関数呼び出しのインターフェースであり、ネットワーク呼び出しのインターフェースではありません。
例えば、メールプラグイン
はplugin/email/api/Email.php
でEmail::send()
インターフェースを提供し、他のアプリからメールを送信するために呼び出されます。
さらに、plugin/email/api/Install.php
は自動生成され、webman-adminプラグインマーケットにインストールまたはアンインストール操作を実行させるために使用されます。