ការប្រើប្រាស់ MySQL នៅក្នុង Symfony3

រាល់ព័ត៌មាននិងទិន្នន័យដែលបង្ហាញនៅលើ application គឺសុទ្ធតែមានការប្រាស្រ័យទាក់ទងទៅនឹង Database ។ Database ជាកន្លែងដែលរក្សា រឺផ្ទុកទិន្នន័យរបស់លោកអ្នក ដើម្បីអោយអ្នកងាយស្រួលក្នុងការទាញយកមកប្រើនៅពេលណាមួយ។ ខាងក្រោមនេះជាការបង្ហាញអំពីការប្រើប្រាស់ MySQL នៅក្នុង Symfony3៖

១ ការ configure the Database

ជាដំបូងអ្នកត្រូវ configure នូវព័ត៌មាននៃ database connection ជាមុនសិន ដែលជាទូទៅ គេតែងតែធ្វើវានៅក្នុង app/config/parameters.yml file ។

mysql-1

នៅពេលនេះ Doctrine អាចភ្ជាប់ទៅកាន់ database របស់អ្នកបានហើយ ចំណែក command ខាងក្រោមអាច generate database មួយដែលមានឈ្មោះថា test_project ដោយស្វ័យប្រវត្តិនិងមិនមានទិន្នន័យអ្វីទាំងអស់៖

mysql-2

២ ការបង្កើត Entity Class

ឧបមាថាអ្នកបង្កើត application មួយដែលត្រូវដាក់បង្ហាញនូវ ផលិតផលជាច្រើន។

មុននឹងគិតទៅដល់ការប្រើប្រាស់ databases អ្នកបានដឹងរួចទៅហើយថាអ្នកនឹងត្រូវការ Productobject មួយដើម្បីតំណាងអោយផលិតផលទាំងនោះ។ នេះជាការបង្កើត class នៅក្នុង Entity directory នៃ AppBundle របស់អ្នក៖

mysql-3

Class ដែលត្រូវបានហៅថា  “entity” ជាញឹកញាប់នោះមានន័យថាជា basic class ដែលក្ដោបក្ដាប់ទិន្នន័យ គឺជាលក្ខណៈសាមញ្ញនិងជួយទៅដល់តម្រូវការអាជីវកម្មលើផលិតផលចាំបាច់នៅក្នុង application របស់អ្នក។

Command ខាងក្រោមនេះគឺបង្ហាញអំពីការបង្កើត entity classes ៖

mysql-4

៣ ការបង្កើត Database Tables/Schema៖

ដើម្បីធ្វើការបង្កើត database tables ចាំបាច់សម្រាប់ entity នៅក្នុង application របស់អ្នកដោយគ្រាន់តែវាយនូវ command ខាងក្រោម៖

mysql-5

ពេលនេះ Database របស់អ្នកគឺមាននូវ product table ហើយអ្នកក៏បានបញ្ចូលនូវ Products object រួចហើយដែរ ដូចនេះសូមធ្វើការបន្ថែមនូវ method ដូចខាងក្រោមទៅក្នុង DefaultController នៃ bundle៖

mysql-6

បន្ទាត់ទី ១៥៖ បន្ទាត់នេះធ្វើការចាប់យកនូវ Doctrine’s entity manager object ដែលជាអ្នកទទួលខុសត្រូវលើដំណើរការនៃការបញ្ចូល និងចាប់យក objects ពី Database ។

បន្ទាត់ទី ១៨៖ persist($product) ប្រាប់ទៅ Doctrine ដើម្បីគ្រប់គ្រងលើ $product object ។

បន្ទាត់ទី ២១៖ ពេលដែល flush() method ត្រូវបានហៅ ដូចនេះ Doctrine ធ្វើការមើលទៅលើ objects ទាំងអស់ដែលវាគ្រប់គ្រងអោយដឹងថាពេលនេះ objects ទាំងអស់កំពុងតែត្រូវការអោយបញ្ចូលវាទៅក្នុង database ។

៤ ការចាប់យក Objects ពី Database៖

ឧទាហរណ៏ថាអ្នកចង់បង្ហាញ Product ដោយផ្អែកទៅលើតម្លៃនៃ id របស់វាគឺ៖

mysql-7

ពេលដែលអ្នក query ប្រភេទនៃ object ណាមួយ នោះអ្នកត្រូវដឹងអំពី repository របស់វាដែលអាចជា PHP Class ហើយអ្នកអាចចូលទៅកាន់ repository object នៃ entity class តាមរយៈ៖

mysql-8

ម៉្យាងទៀតអ្នកអាចចូលទៅកាន់ sorts ទាំងអស់នេះនៃ method ដ៏ពេញនិយមបានផងដែរ។

mysql-9

អ្នកក៏អាចប្រើប្រាស់នូវ findBy() និង findOneBy() methods ដើម្បីងាយស្រួលក្នុងការចាប់យក objects ដោយផ្អែកទៅលើលក្ខខណ្ឌ័ជាច្រើនដូចជា៖

mysql-10

៥ ការ Update Object៖

ដើម្បីធ្វើការ update នូវ Object អ្នកអាចធ្វើដូចខាងក្រោម៖

mysql-11

ការ update មាន ៣ដំណាក់កាលដូចជា៖

ទី១៖ ចាប់យក object ពី Doctrine

ទី២៖ ធ្វើការកែប្រែ object

ទី៣៖ ធ្វើការហៅ flush() នៅលើ entity manager

៦ ការលុប Object៖

អ្នកចាំបាច់ត្រូវប្រើ remove() method នៃ entity manager ដើម្បីធ្វើការលុប object។

mysql-12