Nazoratchi
KekPHP ishlab chiqarish muhitida bizning kontrollerimiz quyidagicha bo'ladi:
class BooksController AppController-ni kengaytiradi (
Vazifalar ro'yxati ($ kategoriya) (
$ this-\u003e set ("kitoblar", $ this-\u003e Book-\u003e findAllByCategory ($ category));
Funktsiya qo'shish () (... ...)
Funktsiyani o'chirish () (... ...)
... ... } ?>
Oddiy, to'g'rimi? Ushbu kontroller quyidagicha saqlanadi books_controller.php va joylashtirilgan / ilova / boshqaruvchilar. Unda bizning misolimiz uchun amallarni bajaradigan funktsiyalar ro'yxati, shuningdek, kitob bilan bog'liq operatsiyalarni bajarish uchun boshqa funktsiyalar mavjud (yangi kitob qo'shish, kitobni o'chirish va hk).
Mehnat muhiti bizni ko'plab tayyor echimlar bilan ta'minlaydi va siz shunchaki kitoblarning ro'yxatini tuzishingiz kerak. Tekshirish moslamasining asosiy faoliyati allaqachon aniqlangan tayanch sinf mavjud, shuning uchun siz ushbu sinfning xususiyatlari va funktsiyalarini meros qilib olishingiz kerak ( Boshqaruvchi merosxo'rNazoratchi).
Amallar ro'yxatida qilishingiz kerak bo'lgan yagona narsa - ma'lumotlarni qabul qilish uchun modelga qo'ng'iroq qilish va keyin uni foydalanuvchiga taqdim etish uchun ko'rinishni tanlash. Buni qanday qilish kerak.
this-\u003e Kitob bizning modelimiz va kodning bir qismi:
$ this-\u003e Book-\u003e findAllByCategory ($ category)
tanlangan mavzu bo'yicha kitoblar ro'yxatini qaytarish kerakligini aytadi (biz keyinroq bu modelni ko'rib chiqamiz).
Usul o'rnatildi qatorda:
$ this-\u003e set ("kitoblar", $ this-\u003e Book-\u003e findAllByCategory ($ category));
Nazoratchi ma'lumotni ongga o'tkazadi. O'zgaruvchan kitoblar model tomonidan qaytarilgan ma'lumotlarni qabul qiladi va ular ko'rinishga ega bo'ladi.
Endi u faqat ko'rinishni ko'rsatish uchun qoladi, lekin agar biz odatiy ko'rinishni ishlatadigan bo'lsak, bu funktsiya avtomatik ravishda tortPHPda bajariladi. Agar biz boshqa ko'rinishni ishlatmoqchi bo'lsak, biz aniq usulni chaqirishimiz kerakko'rsatish.
Model
Model yanada sodda:
sinf kitobi AppModel-ni kengaytiradi (
Nega u bo'sh? Chunki u kerakli funktsionallikni ta'minlaydigan tayanch sinf merosxo'ridir va CakePHP-da ishlash muhiti boshqa barcha vazifalarni avtomatik ravishda bajarishi uchun nomlash konvensiyasidan foydalanishimiz kerak. Masalan, tortPHP ushbu model ishlatilganligi bilan ma'lum Kitoblar nazorati, va u kitoblar deb nomlangan ma'lumotlar bazasi jadvaliga kirish huquqiga ega.
Ushbu ta'rif bilan bizda faqat ma'lumotlar bazasida ma'lumotlarni o'qish, o'chirish yoki saqlash mumkin bo'lgan model bo'ladi.
Kod quyidagicha saqlanadi kitob.php papkada / ilova / modellar.
Do'stlaringiz bilan baham: |