រាល់ព័ត៌មាននិងទិន្នន័យដែលបង្ហាញនៅលើ application គឺសុទ្ធតែមានការប្រាស្រ័យទាក់ទងទៅនឹង Database ។ Database ជាកន្លែងដែលរក្សា រឺផ្ទុកទិន្នន័យរបស់លោកអ្នក ដើម្បីអោយអ្នកងាយស្រួលក្នុងការទាញយកមកប្រើនៅពេលណាមួយ។ ខាងក្រោមនេះជាការបង្ហាញអំពីការប្រើប្រាស់ MySQL នៅក្នុង Symfony3៖
១ ការ configure the Database
ជាដំបូងអ្នកត្រូវ configure នូវព័ត៌មាននៃ database connection ជាមុនសិន ដែលជាទូទៅ គេតែងតែធ្វើវានៅក្នុង app/config/parameters.yml file ។
នៅពេលនេះ Doctrine អាចភ្ជាប់ទៅកាន់ database របស់អ្នកបានហើយ ចំណែក command ខាងក្រោមអាច generate database មួយដែលមានឈ្មោះថា test_project ដោយស្វ័យប្រវត្តិនិងមិនមានទិន្នន័យអ្វីទាំងអស់៖
២ ការបង្កើត Entity Class៖
ឧបមាថាអ្នកបង្កើត application មួយដែលត្រូវដាក់បង្ហាញនូវ ផលិតផលជាច្រើន។
មុននឹងគិតទៅដល់ការប្រើប្រាស់ databases អ្នកបានដឹងរួចទៅហើយថាអ្នកនឹងត្រូវការ Productobject មួយដើម្បីតំណាងអោយផលិតផលទាំងនោះ។ នេះជាការបង្កើត class នៅក្នុង Entity directory នៃ AppBundle របស់អ្នក៖
Class ដែលត្រូវបានហៅថា “entity” ជាញឹកញាប់នោះមានន័យថាជា basic class ដែលក្ដោបក្ដាប់ទិន្នន័យ គឺជាលក្ខណៈសាមញ្ញនិងជួយទៅដល់តម្រូវការអាជីវកម្មលើផលិតផលចាំបាច់នៅក្នុង application របស់អ្នក។
Command ខាងក្រោមនេះគឺបង្ហាញអំពីការបង្កើត entity classes ៖
៣ ការបង្កើត Database Tables/Schema៖
ដើម្បីធ្វើការបង្កើត database tables ចាំបាច់សម្រាប់ entity នៅក្នុង application របស់អ្នកដោយគ្រាន់តែវាយនូវ command ខាងក្រោម៖
ពេលនេះ Database របស់អ្នកគឺមាននូវ product table ហើយអ្នកក៏បានបញ្ចូលនូវ Products object រួចហើយដែរ ដូចនេះសូមធ្វើការបន្ថែមនូវ method ដូចខាងក្រោមទៅក្នុង DefaultController នៃ bundle៖
បន្ទាត់ទី ១៥៖ បន្ទាត់នេះធ្វើការចាប់យកនូវ Doctrine’s entity manager object ដែលជាអ្នកទទួលខុសត្រូវលើដំណើរការនៃការបញ្ចូល និងចាប់យក objects ពី Database ។
បន្ទាត់ទី ១៨៖ persist($product) ប្រាប់ទៅ Doctrine ដើម្បីគ្រប់គ្រងលើ $product object ។
បន្ទាត់ទី ២១៖ ពេលដែល flush() method ត្រូវបានហៅ ដូចនេះ Doctrine ធ្វើការមើលទៅលើ objects ទាំងអស់ដែលវាគ្រប់គ្រងអោយដឹងថាពេលនេះ objects ទាំងអស់កំពុងតែត្រូវការអោយបញ្ចូលវាទៅក្នុង database ។
៤ ការចាប់យក Objects ពី Database៖
ឧទាហរណ៏ថាអ្នកចង់បង្ហាញ Product ដោយផ្អែកទៅលើតម្លៃនៃ id របស់វាគឺ៖
ពេលដែលអ្នក query ប្រភេទនៃ object ណាមួយ នោះអ្នកត្រូវដឹងអំពី repository របស់វាដែលអាចជា PHP Class ហើយអ្នកអាចចូលទៅកាន់ repository object នៃ entity class តាមរយៈ៖
ម៉្យាងទៀតអ្នកអាចចូលទៅកាន់ sorts ទាំងអស់នេះនៃ method ដ៏ពេញនិយមបានផងដែរ។
អ្នកក៏អាចប្រើប្រាស់នូវ findBy() និង findOneBy() methods ដើម្បីងាយស្រួលក្នុងការចាប់យក objects ដោយផ្អែកទៅលើលក្ខខណ្ឌ័ជាច្រើនដូចជា៖
៥ ការ Update Object៖
ដើម្បីធ្វើការ update នូវ Object អ្នកអាចធ្វើដូចខាងក្រោម៖
ការ update មាន ៣ដំណាក់កាលដូចជា៖
ទី១៖ ចាប់យក object ពី Doctrine
ទី២៖ ធ្វើការកែប្រែ object
ទី៣៖ ធ្វើការហៅ flush() នៅលើ entity manager
៦ ការលុប Object៖
អ្នកចាំបាច់ត្រូវប្រើ remove() method នៃ entity manager ដើម្បីធ្វើការលុប object។