ស្វែងយល់អំពី Front End នៅក្នុង Symfony3

តើអ្វីទៅដែលហៅថា Front End ? Front End គឺជា interface មួយដែលអនុញ្ញាតអោយ User អាចមើលឃើញរូបរាងខាងក្រៅនៃ system។ នៅក្នុងអត្ថបទមួយនេះគឺរៀបរាប់អំពីFront End របស់ Symfony ដែលមាន ២ចំណុចធំៗ៖

១) ការប្រើប្រាស់ Bower ជាមួយ Symfony

ក) តម្លើង Bower

តំបូងតម្លើង Bower ហើយបន្ទាប់មកទៀត run វា៖

ខ) Configure Bower នៅក្នុង Project

ជាធម្មតា Bower downloads អ្វីគ្រប់យ៉ាងទៅក្នុង bower_components/ directory។ ក្នុង Symfony មានតែ files នៅក្នុង web/ directory ដែលអាចធ្វើការ access បានជាលក្ខណៈ public ដូចនេះអ្នកត្រូវ configure Bower ដើម្បី download អ្វីដែលមាននៅទីនោះជំនួសវិញ។ ដើម្បីធ្វើដូចនេះបាន អ្នកគ្រាន់តែបង្កើត .bowerrc file ជាមួយនឹងទីតាំងថ្មី (ដូចជា web/assets/vendor)៖

គ) តម្លើង នូវអ្វីដែលអាស្រ័យលើ (Dependency)

ដើម្បីបង្កើត bower.json file អ្នកគ្រាន់តែ run bower init តែប៉ុណ្ណោះ។ ពេលនេះអ្នករួចរាល់ហើយក្នុងការចាប់ផ្ដើមបន្ថែមនូវអ្វីផ្សេងៗទៅក្នុង project ។ ឧទាហរណ៏ថា ដើម្បីបន្ថែម Bootstrap ទៅ bower.json និង ដោនឡូដវា គឺអ្នកត្រូវ៖

វានឹងតម្លើង Bootstrap និង អ្វីដែលទាក់ទងនឹងវាក្នុង web/assets/vendor/ (រឺក៏ directory ផ្សេងទៀតដែលអ្នកបាន configure ក្នុង .bowerrc)។

ឃ) ការបញ្ចូលនូវ Dependency ទៅក្នុង Template

ពេលនេះ អ្វីដែលអ្នកបានតម្លើងហើយនោះគឺរួចរាល់ ហើយអ្នកអាចបញ្ចូល bootstrap ទៅក្នុង template ដូចជា CSS/JS៖

ពេលនេះអ្នកកំពុងប្រើនូវ Bootstrap ដូចនេះអ្នកនឹងកាន់តែងាយស្រួលក្នុងការផ្លាស់ប្ដូរ bootstrap ដែលស្ថិតនៅ ជំនាន់ចុងក្រោយបង្អស់ និងអាចគ្រប់គ្រង front-end ដទៃទៀតបានផងដែរ។

២) របៀបប្រើប្រាស់នូវ វិធីសាស្ត្រ Custom Version សម្រាប់ Assets

ក) ការបង្កើត Asset Version Strategy ផ្ទាល់ខ្លួន

ឧទាហរណ៏ខាងក្រោមបង្ហាញអំពីរបៀបបង្កើត version strategy ដែលត្រូវគ្នាជាមួយ gulp-buster។ tool នេះកំណត់ configuration file ដែលត្រូវបានហៅថា busters.json ដែល maps នូវ asset file នីមួយៗ ទៅកាន់ content hash របស់វា៖

ខ) ការអនុវត្តន៏ VersionStrategyInterface

Asset version strategies គឺជា PHP classes ដែល implement នូវ VersionStrategyInterface ។ ក្នុងឧទាហរណ៏នេះ constructor នៃ class ដែលធ្វើជា arguments ទីតាំងដែល manifest file ធ្វើការ generated ដោយ gulp-buster និង ទម្រង់នៃការ generated version string៖

គ) Register នូវ Strategy Service

បន្ទាប់ពីការបង្កើត strategy PHP class គឺយើងត្រូវចុះឈ្មោះរបស់វាទៅជា Symfony service។

ជាចុងក្រោយ ធ្វើការបើកនូវ asset versioning ថ្មីសម្រាប់ application assets ទាំងអស់រឺក៏ asset package មួយចំនួនដែលអរគុណទៅដល់ version_strategy option៖