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

Workflow component ផ្ដល់នូវ tools សម្រាប់ធ្វើការគ្រប់គ្រងលំហូរនៃការងារ រឺក៏ កំណត់នូវ state machine។ នៅក្នុងជំនាន់ថ្មី 3.2 ៖ Workflow component ត្រូវបានណែនាំរួចមកហើយនៅក្នុង Symfony 3.2 ។ ខាងក្រោមនេះជាការពន្យល់អំពី ការតម្លើង Workflow component ការបង្កើត និងការប្រើប្រាស់វា។
១) ការតម្លើង
អ្នកអាចតម្លើង Workflow component បាន តាមរយៈវិធី ២យ៉ាងខាងក្រោមនេះ៖
ទី១៖ តម្លើងវាតាមរយៈ Composer (symfony/workflow នៅលើ Packagist វេបសាយ)
ទី២៖ ប្រើប្រាស់នូវ official Git repository (https://github.com/symfony/workflow)
បន្ទាប់ពីនោះ គឺទាមទារអោយមាន vendor/autoload.php file ដើម្បីធ្វើការ enable នូវការ load mechanism ដែលបានផ្ដល់ដោយ Composer ដោយស្វ័យប្រវត្តិ។ បើមិនដូច្នោះទេ application របស់អ្នកនឹងមិនអាច ស្វែងរកនូវ classes នៃ Symfony component បាននោះទេ។
២) ការបង្កើត Workflow
Workflow component អោយអ្នកនូវវិធីសាស្ត្រ object oriented ដើម្បីធ្វើការកំណត់នូវដំណើរការ រឺក៏ ដំណើរវដ្តជីវិតដែល object របស់អ្នកធ្វើកន្លងមក។ រាល់ដំណាក់កាលនីមួយៗ រឺក៏ ជំហ៊ានក្នុងដំណើរការគឺត្រូវហៅថា place ។ អ្នកក៏អាចធ្វើការកំណត់ transitions ដែលពិព៌ណនានូវសកម្មភាពដើម្បីទទួលបានពី ទីតាំងមួយទៅទីតាំង (place) មួយផ្សេងទៀត។

សំណុំនៃទីតាំង (places) និង transitions ធ្វើការបង្កើតនូវ definition ។ workflow ត្រូវការ Definition និង វិធីដើម្បី write នូវ states ទៅកាន់ objects (instance នៃ MarkingStoreInterface)
សូមគិតទៅលើឧទាហរណ៏ខាងក្រោមសម្រាប់ blog post ។ post អាចមានមួយនៃ លេខនៃ statuses ដែលបានកំណត់ទុកជាមុន (draft, review, rejected, published)។ នៅក្នុង workflow គឺ statuses ទាំងអស់នោះត្រូវបានហៅថា places ។ អ្នកអាចកំណត់ workflow ដូចខាងក្រោមនេះ៖

Workflow ពេលនេះអាចជួយអ្នកក្នុងការសម្រេចថា actions ណាដែលអាចអនុញ្ញាតអោយ blog post ធ្វើការពឹងផ្អែកទៅលើ place ណាដែលវាកំពុងស្ថិតនៅ។ នេះអាចអោយអ្នករក្សានូវ domain logic របស់អ្នកក្នុង place មួយនិងមិនរីករាលដាលនៅទូទាំង application របស់អ្នកឡើយ។
ពេលអ្នកកំណត់ workflows ច្រើន អ្នកគួរតែសម្រេចប្រើប្រាស់នូវ Registry ដែលជា object ដែលធ្វើការរក្សាទុកនិងផ្ដល់នូវការ access ទៅកាន់ workflows ផ្សេងៗទៀត។ Registry នឹងអាចជួយអ្នកក្នុងការសម្រេចថាប្រសិនបើ workflow supports នូវ object ដែលអ្នកកំពុងតែព្យាយាមប្រើប្រាស់វាជាមួយ៖

៣) ការប្រើប្រាស់
ពេលដែលអ្នកបានធ្វើការ configured នូវ Registry ជាមួយនឹង workflows របស់អ្នករួចហើយ អ្នកប្រហែលជាប្រើវាដូចខាងក្រោមនេះ៖

នៅអត្ថបទបន្ទាប់ទៀត Techfree នឹងធ្វើការបង្ហាញអំពីរបៀប Dump Workflow។