របៀបបង្កើត Form ជាមួយនឹង Yii Framework

នៅក្នុងមេរៀនមុនយើងបានដឹងអំពីរបៀបបង្កើត CRUD (Create, Retrieve, Update and Delete) នៅក្នុង Yii Framework រួចមកហើយដែល យើងបានបង្កើតដោយប្រើ gii tool ។ ថ្ងៃនេះ TechFree សូមបង្ហាញអំពីការបង្កើត Form នៅក្នុង Yii framework ដោយប្រើប្រាស់ការសរសេរកូដ នៅក្នុងការបង្កើតនេះ ។

Form គឺជាទម្រង់មួយដែល យើងប្រើប្រាស់សំរាប់បញ្ចូល និង ទទួលពត៌មានដូចជា ការចុះឈ្មោះ ការបង្ហាញទិន្នន័យ ជាដើម ។ខាងក្រោមនេះបង្ហាញអំពីរបៀបបង្កើតគំរូនៃទម្រង់ចុះឈ្មោះ (Register Form) មួយ ៖

១) ការសរសេរកូដ

នៅក្នុងការសរសេរកូដគឺ យើងត្រូវសរសេរជាមួយនឹង MVC (Model Views and Controllers) ដែល Model វាមានតួនាទីសំរាប់ផ្ទុកពត៌មាន រីឯ Controllers គឺជាកន្លែងទាញទិន្នន័យពី Model ដើម្បីបង្ហាញនៅក្នុង Views ណាមួួយ និង Views គឺជាកន្លែងសំរាប់បង្ហាញនូវទិន្នន័យដែលបញ្ជូនមកពី Controllers ។

១.១) Model

ដំបូងគឺត្រូវបង្កើត file មួយឈ្មោះថា RegistrationForm.php ហើយនៅក្នុងកូដនេះមានន័យថា យើងបង្កើត Class មួយឈ្មោះថា RegistrationForm ហើយវាចាប់យក function ផ្សេងទៀតចេញពី Class មេមួយឈ្មោះថា CFormModel ដែលវាស្ថិតនៅក្នុង Yii framework នេះស្រាប់ រួចហើយ យើងបង្កើតអញ្ញត្តិសំរាប់តំនាងទិន្នន័យ និង បង្កើត Function មួយទៀតឈ្មោះថា regiserattributes ដើម្បីផ្ទុកទិន្នន័យ ។

formyii1

     ១.២) Controllers

នៅក្នុង Controllers មាន file មួយឈ្មោះថា SiteControllers.php ដែល វាមានតួនាទីសំរាប់ភ្ជាប់ទំនាក់ទំនងពី Model ទៅកាន់ Views ណាមួយ ។ កូដខាងក្រោមនេះមានន័យថា យើងបង្កើត function មួយដែលឈ្មោះថា actionRegistration()  ដើម្បីយកទៅប្រើជាមួយនឹង Views ។

  • ត្រង់បន្ទាត់ទី ១០៣ គឺយើងប្រើអញ្ញត្តិមួយសំរាប់តំនាងឈ្មោះ Class RegistrationForm ដែលបានបង្កើតនៅក្នុង Models
  • ត្រង់បន្ទាត់ទី ១០៤ គឺយើងចង់បង្ហាញទិន្នន័យនៅក្នុង file មួយឈ្មោះថា registration.php នៅក្នុង Views

formyii2

១.៣) Views

ដំបូងយើងបង្កើត file មួយឈ្មោះថា registration.php នៅក្នុង folder view/site ដែលជាកន្លែងដែល យើងត្រូវបង្ហាញទិន្នន័យ ។ កូដនៅខាងក្រោមនេះជាកូដសំរាប់ចាប់ផ្ដើមក្នុងការបង្កើត Form ។

formyii3

ចំនែកឯកូដនេះខាងក្រោមនេះគឺជាកូដសំរាប់បង្កើត Form ។

formyii4

១.៤) main.php

នៅត្រង់បញ្ជី (Menu) យើងត្រូវបង្កើតពាក្យសំរាប់ចូលទៅបើកទម្រង់ (form) នោះ ។ ដើម្បីចូលទៅបង្កើតវា ត្រូវចូលទៅកាន់ views/layout/main.php ។ សូមមើលកូដ ៖

formyii5

២) លទ្ធផល

ក្រោយពីការសរសេរកូដរួចរាល់ហើយមក យើងនឹងឃើញលទ្ធផលដូចខាងក្រោម ៖

formyii6