portlamoq
manzil tarkibiy qismlarga bo'linadi.
Natijada,
biz kontrolör nomini olamiz, berilgan misol uchun bu kontrolör
aloqalar
va bizning
harakatlarimizdagi harakatlarning nomi -
fikrlar
.
Keyinchalik, namunaviy fayl ulanadi (model yo'q bo'lishi mumkin) va kontrolör fayli,
agar mavjud bo'lsa va nihoyat, kontrolör nusxasi yaratiladi va agar u boshqaruvchi
sinfida tasvirlangan bo'lsa, yana harakat qaytariladi.
Shunday
qilib,
masalan,
manzilga
borishda:
example.com/portfolio
yoki
example.com/portfolio/index
yo'riqnoma quyidagilarni bajaradi:
1.
model_Portfolio klassini o'z ichiga olgan modellar papkasida model_portfolio.php
faylini qo'shing;
2.
controller_Portfolio
klassini
o'z
ichiga
olgan
kontroller
papkasidan
Controller_portfolio.php faylini ulang;
3.
controller_Portfolio sinfining namunasini yaratadi va
unda tasvirlangan standart
harakat - action_index-ni chaqiradi.
Agar foydalanuvchi mavjud bo'lmagan boshqaruvchining manziliga murojaat
qilmoqchi
bo'lsa,
masalan:
example.com/ufo
keyin
u
"404"
sahifasiga
yo'naltiriladi:
example.com/404
Agar foydalanuvchi boshqaruvchida tasvirlanmagan harakatga kirsa,
xuddi shunday
bo'ladi.
2.2. MVC-ga qaytish
Asosiy papkaga o'ting va marshrut.php fayliga yana uchta fayl qo'shing:model.php,
view.php va Controller.php
Sizga shuni eslatib o'tamanki, ularda hozirda yozishni boshlaydigan bazaviy sinflar
bo'ladi.
Fayl
tarkibi
model.php
sinf Model
(
ommaviy funktsiya
get_data
()
( }
}
Model klassi avlodlar sinflarida bir-birini to'ldiradigan yagona bo'sh ma'lumotlarni
tanlash usulini o'z ichiga oladi. Biz avlod
sinflarini yaratganimizda, hamma narsa
aniqbo'ladi.
Ushbu usul nima ekanligini taxmin qilish qiyin emas
hosil qilmoq
Ko'rinishni
shakllantirish uchun mo'ljallangan. Unga quyidagi parametrlar o'tkazildi:
1.
$ content_file - sahifa tarkibini ko'rsatadigan ko'rishlar;
2.
$ template_file - barcha
sahifalar uchun umumiy shablon;
3.
$ data - bu sahifa tarkibidagi elementlarni o'z ichiga olgan massiv. Odatda modelda
joylashgan.
Qo'shish funktsiyasi umumiy shablonni (ko'rinishni) dinamik ravishda bog'laydi, uning
ichiga
ko'rinish
joylashtiriladi
ma'lum bir sahifaning tarkibini ko'rsatish uchun.
Bizning holatlarimizda umumiy shablon sarlavha, menyu, yon panel va altbilgilarni o'z
ichiga oladi va sahifalar mazmuni alohida shaklda bo'ladi. Shunga qaramay, bu
oddiylik uchun amalga oshiriladi.
2.3. Model va Controller bolalar sinflarini amalga oshirish, View "larini yaratish
Endi o'yin-kulgi boshlanadi! Bizning tashrif kartamiz saytimiz quyidagi sahifalardan
iborat bo'ladi.
1.
Uy
2.
Xizmatlar
3.
Portfel
4.
Aloqa ma'lumotlari
5.
Shuningdek - "404" sahifasi
Har bir sahifada kontrollerlar papkasida o'z nazoratchisi va ko'rinishlar
papkasidagi
ko'rinish mavjud. Ba'zi sahifalarda modellar yoki modellar papkasidagi modellardan
foydalanishlari mumkin.
Ammo ushbu versiyada men quyidagi sinflarni va ularning tegishli turlarini chizdim:
▪
Tasdiqlash protsedurasi to'ldirilganidan so'ng, login va parolni kiritish uchun forma
bilan ko'rinadigan ko'rinadigan Controller_Login, va agar muvaffaqiyatli bo'lsa,
foydalanuvchi ma'mur paneliga yo'naltiriladi.
▪
Controller_Admin indeks harakati bilan, u foydalanuvchi ilgari saytda ma'mur sifatida
vakolatlanganligini tekshiradi (agar u mavjud bo'lsa, u holda ma'mur ko'rinishi
ko'rsatiladi) va tizimdan chiqish uchun harakat.
Autentifikatsiya va avtorizatsiya - bu boshqa mavzu, shuning uchun bu erda ko'rib
chiqilmaydi, lekin boshlash kerak bo'lgan narsa bo'lishi
uchun faqat yuqorida
ko'rsatilgan havola keltirilgan.
Xulosa
MVC shablonlari qisqa vaqt ichida sifatli va murakkab echimlarni ishlab chiqish uchun
yaratilgan ko'plab ramkalar va CMS-larda arxitektura asosi sifatida ishlatiladi. Bunga
abstraktsiya darajasini oshirish orqali erishildi, chunki inson miyasi ishlashi mumkin
bo'lgan tuzilmalarning murakkabligi chegarasi bor.
Ammo, oddiy veb-ilovalarni (masalan, tashrif kartalari saytlari) ishlab chiqishda Yii
yoki Kohana kabi bir necha yuz fayllardan iborat veb-freymlardan foydalanish har
doim ham maqsadga muvofiq emas. Endi biz bitta faylda Php, Html, CSS va JavaScript
kodlarini aralashtirmaslik uchun chiroyli MVC modelini yaratishga qodirmiz.
Ushbu maqola CMF-ni o'rganish uchun boshlang'ich nuqta bo'lib, siz o'zingizning veb-
ilovangiz uchun asos bo'lishi mumkin bo'lgan haqiqatan ham to'g'ri bo'lgan narsaning
namunasidir. Ehtimol, u hatto sizni ilhomlantirgan va siz allaqachon MVC-ga
asoslangan mikrogramma yoki CMS-ni yozishni o'ylayapsiz. Ammo, siz blackjack va
fohisha bilan boshqa velosiped
ixtiro qilishdan oldin, o'ylab ko'ring, o'z
harakatlaringizni mavjud loyihani rivojlantirish va yordam berishga yo'naltirish
oqilona bo'ladimi ?!