Kontroller sinfini nomlash Controller klassi nomlari nazoratchi identifikatorlaridan quyidagi protsedura bo'yicha olinishi
mumkin:
1. Defis bilan ajratilgan har bir so'zning birinchi harfini bosh harfga
aylantiring. E'tibor bering, agar kontroller identifikatorida qiyshiq chiziq
bo'lsa, bu qoida faqat identifikatordagi oxirgi chiziqdan keyingi qismga
qo'llaniladi.
2. Defislarni olib tashlang va oldinga qiyshaygan chiziqlarni teskari chiziq
bilan almashtiring.
3. Qo'shimchani qo'shing
Controller
.
4. Tekshirish
moslamasining nom maydoni
oldiga qo'ying .
Quyida
kontroller nom maydoni
standart qiymatni qabul qilgan holda ba'zi misollar keltirilgan
app\controllers
:
article
bo'ladi
app\controllers\ArticleController
;
post-comment
bo'ladi
app\controllers\PostCommentController
;
admin/post-comment
bo'ladi
app\controllers\admin\PostCommentController
;
adminPanels/post-comment
aylanadi
app\controllers\adminPanels\PostCommentController
.
Controller sinflari
avtomatik yuklanishi
kerak . Shu sababli, yuqoridagi misollarda, boshqaruvchi
klassi
taxallusli
article
faylda saqlanishi kerak ; nazoratchi ichida bo'lishi kerak bo'lsa
.
@app/controllers/ArticleController.phpadmin/post-
comment@app/controllers/admin/PostCommentController.php
Ma'lumot: Oxirgi misolda siz
kontrollerni boshqaruvchi nomlar maydonining
admin/post-
comment
pastki katalogiga qanday qo'yish mumkinligini ko'rsatadi .
Bu kontrollerlaringizni bir
nechta toifalarga ajratishni istasangiz va modullardan
foydalanishni xohlamasangiz foydali
bo'ladi .
Nazoratchi xaritasi Siz yuqorida tavsiflangan boshqaruvchi identifikatorlari va sinf nomlari cheklovlarini yengish
uchun
boshqaruvchi xaritasini
sozlashingiz mumkin . Bu, asosan, uchinchi tomon
kontrollerlaridan foydalanayotganingizda va ularning sinf nomlarini nazorat qila olmaganingizda
foydalidir.
Ilova konfiguratsiyasida
kontroller
xaritasini
sozlashingiz mumkin . Masalan:
[
'controllerMap' => [
// declares "account" controller using a class name
'account' => 'app\controllers\UserController',
// declares "article" controller using a configuration array
'article' => [
'class' => 'app\controllers\PostController',
'enableCsrfValidation' => false,
],