Dizin Yapısı
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
Bir uygulama eklentisinin webman
ile aynı dizin yapısına ve yapılandırma dosyalarına sahip olduğunu görüyoruz, aslında geliştirme deneyimi webman
ile normal bir uygulama geliştirmek arasında temelde fark yoktur.
Eklenti dizini ve isimlendirme PSR4 standardına uymaktadır, çünkü eklentiler plugin
dizininde yer almaktadır, bu nedenle ad alanları plugin
ile başlamaktadır; örneğin plugin\foo\app\controller\UserController
.
api Dizin Hakkında
Her eklenti içinde bir api
dizini bulunur; eğer uygulamanız başka uygulamalar tarafından çağrılabilecek bazı iç arayüzler sağlıyorsa, arayüzleri api
dizinine koymalısınız.
Burada bahsedilen arayüz, fonksiyon çağrısı arayüzüdür, ağ üzerinden çağrılan arayüz değil.
Örneğin, e-posta eklentisi
plugin/email/api/Email.php
içerisinde Email::send()
arayüzünü sağlar, bu diğer uygulamalara e-posta göndermek için çağrılmak üzere kullanılır.
Ayrıca, plugin/email/api/Install.php
otomatik olarak oluşturulmuştur ve webman-admin
eklenti pazarının yükleme veya kaldırma işlemlerini gerçekleştirmesi için kullanılmaktadır.