O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI
VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Web dasturlashga kirish fanidan
REFERAT
Guruh: 010-20
Bajardi: O’rinov Sarvarbek
Toshkent-2022
Mavzu:PHP da MVC texnologiyasi
Reja:
1)
MVC modeli, ishlash tartibi va tarixi;
2)
PHP modeli ishlash tartibi;
3)
PHP dasturini yaratishda MVC shablonining afzalliklari;
4)
Xulosa;
5)
Adabiyotlar.
MVC modeli, ishlash tartibi va tarixi
So'nggi yillarda MVC (Model-View-Controller: Model-View-Controller) tushunchasi
veb-dasturlash dunyosida juda ko'p esga olinadi. Bu yoki boshqa yo'l bilan veb-
ilovalarning rivojlanishi bilan bog'liq bo'lgan har bir kishi ushbu qisqartmani uchratdi.
Bugun biz MVC tushunchasi nima ekanligini va nima uchun ommalashganligini
aniqlaymiz.
MVC - bu loyiha shablonlari emas, bu bizning dasturimiz tuzilishini, majburiyatlarni va
ushbu strukturadagi har bir qismning o'zaro ta'sirini shakllantirish usulini tavsiflovchi
qurilish shablonidir.
Birinchi marta 1979 yilda, albatta, boshqa muhit uchun tasvirlangan. Keyin veb-dastur
tushunchasi yo'q edi. Tim Berners Li (Tim Berners Li) 90-yillarning boshlarida
Umumjahon Internet (WWW) urug'ini sepdi va dunyoni butunlay o'zgartirdi. Bugungi
kunda biz foydalanadigan shablon veb-shablonni yaratish uchun original shablonni
moslashtirishdir.
Ushbu tuzilmaning veb-ilovalardagi aqldan mashhurligi, u juda mashhur bo'lib qolgan
ikkita rivojlanish muhitiga kiritilganligi sababli rivojlandi: Struts va Ruby on Rails.
Ushbu ikki rivojlanish muhiti keyinchalik yaratilgan yuzlab ish muhiti uchun
rivojlanish yo'llarini jadvallashtirgan.
MVC qurilish shablonining tagida joylashgan g'oya juda sodda: bizning
ilovalarimizdagi turli xil funktsiyalar uchun javobgarlikni aniq taqsimlashingiz kerak:
Ilova uchta asosiy tarkibiy qismga bo'linadi, ularning har biri turli xil vazifalarni
bajarish uchun javob beradi. Keling, misol yordamida tarkibiy qismlarni batafsil ko'rib
chiqaylik.
Nazoratchi foydalanuvchi so'rovlarini boshqaradi (foydalanuvchi turli xil amallarni
bajarish uchun interfeys elementlarini bosganda HTTP GET yoki POST so'rovlari
sifatida qabul qilinadi). Uning asosiy vazifasi foydalanuvchi tomonidan ko'rsatilgan
harakatlarni bajarish uchun zarur bo'lgan kerakli resurslar va ob'ektlarning
harakatlarini chaqirish va muvofiqlashtirishdir. Odatda, nazoratchi vazifa uchun mos
modelni chaqiradi va tegishli ko'rinishni tanlaydi.
Model - bu dasturlarni boshqarish tushunchasini ifodalovchi ma'lumotlar bilan
ishlashda foydalaniladigan ma'lumotlar va qoidalar. Har qanday dasturda, butun
struktura ma'lum bir tarzda ishlov beradigan ma'lumotlar sifatida modellashtirilgan.
Ilova uchun foydalanuvchi nima - xabar yoki kitob? Faqat qoidalarga muvofiq qayta
ishlanishi kerak bo'lgan ma'lumotlar (kelajakda sana ko'rsatilishi mumkin emas,
elektron pochta ma'lum bir formatda bo'lishi kerak, ism X harfdan oshmasligi kerak va
hokazo).
Model boshqaruvchiga foydalanuvchi tomonidan so'ralgan ma'lumotlarning
ko'rinishini beradi (xabar, kitob sahifasi, foto albom va shunga o'xshashlar). Ma'lumot
modeli qanday qilib uni foydalanuvchiga taqdim etishni xohlashimizdan qat'iy nazar
bir xil bo'ladi. Shuning uchun biz ma'lumotlarni namoyish qilish uchun mavjud bo'lgan
har qanday ko'rinishni tanlaymiz.
Model bizning dasturimiz mantig'ining eng muhim qismini, biz ko'rib chiqayotgan
muammoni (forum, do'kon, bank va shu kabilar) hal qiladigan mantiqni o'z ichiga
oladi. Tekshirish moslamasi asosan dasturning o'zi uchun tashkiliy mantiqni o'z ichiga
oladi (uy xo'jaligiga juda o'xshash).
Ko'rish
Ko'rish
modeldan olingan ma'lumotlarni taqdim etishning turli usullarini taqdim
etadi. Bu ma'lumotlar bilan to'ldirilgan shablon bo'lishi mumkin. Bir nechta turli xil
bo'lishi mumkin va boshqaruvchi mavjud vaziyat uchun eng yaxshisini tanlaydi.
Veb-dastur odatda boshqaruvchilar, modellar va ko'rinishlar to'plamidan iborat.
Boshqarish vositasi barcha so'rovlarni qabul qiladigan va boshqa kontrollerlarni
vaziyatga qarab harakatlarni bajarishga chaqiradigan asosiy sifatida ajratilishi mumkin.
Bir misolni olaylik
Aytaylik, biz onlayn kitob do'konini rivojlantirishimiz kerak. Foydalanuvchi quyidagi
amallarni bajarishi mumkin: kitoblarni ko'rish, ro'yxatdan o'tish, sotib olish, mavjud
tartibga elementlar qo'shish, kitoblarni yaratish yoki yo'q qilish (agar u ma'mur bo'lsa).
Foydalanuvchi
kategoriya
ustiga
bosganda
nima
bo'lishini
ko'rib
chiqaylik
xayol
bizning do'konimizda mavjud bo'lgan kitoblarning nomlarini ko'rish.
Bizda kitoblar bilan bog'liq barcha harakatlarni (ko'rish, tahrirlash, yaratish va hokazo)
qayta
ishlash
uchun
maxsus
boshqaruvchi
mavjud.
Unga
qo'ng'iroq
qilaylik
books_controller.php
bizning misolimizda. Shuningdek, bizga model kerak,
masalan,
kitob_model.php
, do'konning pozitsiyasi bilan bog'liq ma'lumotlar va
mantiqlarni qayta ishlaydigan. Xulosa qilib aytganda, biz ma'lumotlarni taqdim etish
uchun bir nechta turlarga muhtojmiz, masalan, kitoblar ro'yxati, tahrirlash uchun sahifa
va boshqalar.
Quyidagi rasmda mavzu bo'yicha kitoblar ro'yxatini ko'rish uchun foydalanuvchi
so'rovi qanday bajarilganligi ko'rsatilgan
xayol
:
Tekshirish moslamasi (books_controller.php) foydalanuvchi so'rovini qabul qiladi
(HTTP GET yoki POST so'rovi). Biz so'rovni qabul qiladigan va books_controller.php
ni chaqiradigan index.php-ni boshqarishimiz mumkin.
Tekshirish moslamasi so'rov va parametrlarni tekshiradi va keyin modelni chaqiradi
(book_model.php),
talab qilmoq
uning mavzu bo'yicha mavjud kitoblari ro'yxati
mavjud
xayol
.
Model ma'lumotlar bazasidan ma'lumotlarni (yoki ma'lumot saqlanadigan boshqa
manbadan) oladi, filtrlarni va kerakli mantiqlarni qo'llaydi va keyin kitoblar ro'yxatini
ko'rsatadigan ma'lumotlarni qaytaradi.
Nazoratchi foydalanuvchiga ma'lumotlarni taqdim qilish uchun mos ko'rinishdan
foydalanadi. Agar so'rov mobil telefondan kelgan bo'lsa, uyali telefon uchun ko'rinish
ishlatiladi; agar foydalanuvchi ma'lum bir interfeys dizaynidan foydalansa, unda
tegishli ko'rinish tanlanadi va hokazo.
Foydalari qanday?
MVC kontseptsiyasidan foydalanishning eng aniq foydasi bu taqdimot mantig'i
(foydalanuvchi interfeysi) va amaliy mantiqni aniq ajratishdir.
Turli xil qurilmalarni ishlatadigan har xil foydalanuvchilarni qo'llab-quvvatlash
bugungi kunda keng tarqalgan muammo hisoblanadi. Agar so'rov shaxsiy
kompyuterdan yoki mobil telefondan kelgan bo'lsa, taqdim etilgan interfeys boshqacha
bo'lishi kerak. Model bir xil ma'lumotlarni qaytaradi, yagona farq shundaki, kontrolör
ma'lumotlarning chiqishi uchun har xil turlarni tanlaydi.
Ko'rishlarni amaliy mantiqdan ajratib qo'yishdan tashqari, MVC kontseptsiyasi katta
dasturlarning murakkabligini sezilarli darajada kamaytiradi. Kod ancha tuzilgan va
shuning uchun echimlarni qo'llab-quvvatlash, sinovdan o'tkazish va qayta foydalanish
osonlashadi.
Nima uchun ish muhitidan foydalanish kerak?
Ishchi muhitdan foydalanganda, MVC-ning asosiy tuzilishi oldindan tayyorlangan va
siz faqatgina MVC naqshiga mos keladigan fayllarni tegishli kataloglarga joylashtirish
orqali strukturani kengaytirishingiz mumkin. Bundan tashqari, siz allaqachon yozilgan
va yaxshi sinovdan o'tgan funktsiyalarga ega bo'lasiz.
TortPHP-ni MVC ish maydoniga misol sifatida ko'rib chiqing. O'rnatishdan so'ng siz
uchta asosiy katalogga ega bo'lasiz:
▪
tort /
▪
sotuvchilar /
Jild
Do'stlaringiz bilan baham: |