ডিরেক্টরি স্ট্রাকচার
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
প্লাগিন মার্কেট দ্বারা ইনস্টল বা আনইনস্টল কার্যকর করতে কল করা হয়।