โครงสร้างไดเรกทอรี

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 ดังนั้น namespace จะเริ่มต้นด้วย plugin เช่น plugin\foo\app\controller\UserController

เกี่ยวกับไดเรกทอรี api

ในแต่ละปลั๊กอินจะมีไดเรกทอรี api หากแอปพลิเคชันของคุณมีส่วนติดต่อภายในบางอย่างที่ให้แอปอื่นเรียกใช้ คุณต้องวางส่วนติดต่อในไดเรกทอรี api
โปรดทราบว่าส่วนติดต่อที่กล่าวถึงที่นี่คือส่วนติดต่อการเรียกใช้ฟังก์ชัน ไม่ใช่ส่วนติดต่อการเรียกใช้ทางเครือข่าย
ตัวอย่างเช่น ปลั๊กอินอีเมล ใน plugin/email/api/Email.php จะให้ส่วนติดต่อ Email::send() สำหรับการเรียกใช้เพื่อส่งอีเมลให้กับแอปอื่น
นอกจากนี้ plugin/email/api/Install.php ถูกสร้างขึ้นโดยอัตโนมัติ เพื่อให้ปลั๊กอิน webman-admin เรียกใช้เพื่อดำเนินการติดตั้งหรือถอนการติดตั้ง