ស្វែងយល់ពីរបៀបដែលការបញ្ជាទិញមានកម្រិតដំណើរការ ពេលណាត្រូវប្រើវា និងរបៀបដែលវាអាចជួយអ្នកក្នុងការគ្រប់គ្រងតម្លៃប្រតិបត្តិ និងគ្រប់គ្រងហានិភ័យនៅក្នុងទីផ្សារដែលងាយនឹងបង្កជាហេតុ។
អ្នកនិពន្ធ៖ ការគ្រប់គ្រងភាពអាស្រ័យ PHP បានពន្យល់
កម្មវិធីតែងបានធ្វើបដិវត្ត PHP ដោយគ្រប់គ្រងភាពអាស្រ័យប្រកបដោយប្រសិទ្ធភាព
កម្មវិធីតែងគឺជាឧបករណ៍សម្រាប់ការគ្រប់គ្រងភាពអាស្រ័យនៅក្នុង PHP ។ វាអនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍គ្រប់គ្រងបណ្ណាល័យដែលគម្រោង PHP របស់ពួកគេពឹងផ្អែកលើ ដោយធានានូវកំណែដែលស្របគ្នានៅទូទាំងការអភិវឌ្ឍន៍ ការធ្វើតេស្ត និងបរិស្ថានផលិតកម្ម។ ណែនាំក្នុងឆ្នាំ 2012 ដោយ Nils Adermann និង Jordi Boggiano អ្នកតែងបានសម្រួលពីរបៀបដែលបណ្ណាល័យកូដត្រូវបានដំឡើង អាប់ដេត ផ្ទុកដោយស្វ័យប្រវត្តិ និងចាក់សោកំណែ ដោយដោះស្រាយបញ្ហាដែលកើតឡើងដដែលៗនៅក្នុងសហគមន៍ PHP។
មុននឹង Composer អ្នកអភិវឌ្ឍន៍ PHP ជារឿយៗត្រូវទាញយកបណ្ណាល័យដោយដៃ បញ្ចូលពួកវា និងដោះស្រាយបញ្ហាភាពត្រូវគ្នាដោយខ្លួនឯង។ នេះនាំឱ្យមានការរៀបចំផ្សេងគ្នានៅទូទាំងបរិស្ថាន ឋាននរកអាស្រ័យ និងលំហូរការងារអភិវឌ្ឍន៍ដែលគ្មានប្រសិទ្ធភាព។ កម្មវិធីតែងបានផ្លាស់ប្តូរហ្គេមដោយណែនាំវិធីសាស្រ្តស្តង់ដារ និងស្វ័យប្រវត្តិចំពោះការគ្រប់គ្រងភាពអាស្រ័យដែលស្រដៀងទៅនឹងឧបករណ៍នៅក្នុងប្រព័ន្ធអេកូឡូស៊ីផ្សេងទៀតដូចជា npm សម្រាប់ JavaScript ឬ Bundler សម្រាប់ Ruby។
កម្មវិធីតែងដំណើរការជាមួយឯកសារ អ្នកតែងបានត្រួសត្រាយផ្លូវសម្រាប់ក្របខ័ណ្ឌកម្មវិធី PHP ទៅជាម៉ូឌុល និងដំណើរការដោយកញ្ចប់។ Symfony, Laravel, Drupal 8+ និងក្របខ័ណ្ឌទំនើបផ្សេងទៀតពឹងផ្អែកយ៉ាងខ្លាំងលើកម្មវិធីតែងសម្រាប់ស្ថាបត្យកម្មនៃប្រព័ន្ធអេកូរបស់ពួកគេ។ នៅទីបំផុត អ្នកតែងបង្កើត PHP ដែលមានជំនាញវិជ្ជាជីវៈ តាមរយៈការជំរុញអនាម័យភាពអាស្រ័យឱ្យកាន់តែប្រសើរឡើង គាំទ្រការបង្កើតកំណែតាមន័យធៀប និងលើកទឹកចិត្តឱ្យមានវប្បធម៌នៃកូដដែលអាចប្រើឡើងវិញបាន និងអាចចែករំលែកបានតាមរយៈ Packagist។composer.json — ការបង្ហាញដែលរាយបញ្ជីភាពអាស្រ័យ និងឧបសគ្គរបស់គម្រោង។ នៅពេលដែលអ្នកអភិវឌ្ឍន៍ដំណើរការ composer install ឬ composer update, Composer ទាញយកកំណែសមស្របនៃកញ្ចប់ដែលបានបញ្ជាក់ពី Packagist (ឃ្លាំងកញ្ចប់លំនាំដើមរបស់ Composer) ហើយដំឡើងពួកវានៅក្នុងរចនាសម្ព័ន្ធស្តង់ដារមួយនៅក្នុង vendor folder>។សមត្ថភាពសំខាន់ៗរបស់អ្នកនិពន្ធ
composer.lock ធានានូវភាពស៊ីសង្វាក់គ្នារវាងការអភិវឌ្ឍន៍ QA ដំណាក់កាល និងការផលិតដោយចាក់សោកំណែជាក់លាក់។
សារៈសំខាន់របស់ Composer ចំពោះប្រព័ន្ធអេកូ PHP មិនអាចនិយាយលើសពីនេះបានទេ។ នៅពេលចេញផ្សាយក្នុងឆ្នាំ 2012 PHP បានក្លាយទៅជាភាសាសរសេរកម្មវិធីមួយដែលត្រូវបានប្រើប្រាស់យ៉ាងទូលំទូលាយបំផុតសម្រាប់ការអភិវឌ្ឍន៍គេហទំព័រ ប៉ុន្តែវាខ្វះប្រព័ន្ធដែលជំរុញដោយសហគមន៍កណ្តាលសម្រាប់ការគ្រប់គ្រងបណ្ណាល័យភាគីទីបី។ អ្នកអភិវឌ្ឍន៍ជាញឹកញាប់ត្រូវចម្លង និងបិទភ្ជាប់កូដ ឬពឹងផ្អែកលើឧបករណ៍ហួសសម័យដូចជា PEAR (ផ្នែកបន្ថែម PHP និងឃ្លាំងកម្មវិធី)។ អ្នកតែងបានផ្លាស់ប្តូរការរៀបរាប់នេះយ៉ាងខ្លាំង។
១. ការបង្រួបបង្រួមប្រព័ន្ធអេកូ PHP៖ កម្មវិធីតែងបានបើកឱ្យអ្នកអភិវឌ្ឍន៍ដើម្បីបញ្ជាក់ ចែករំលែក និងដោះស្រាយភាពអាស្រ័យដោយភាពជាក់លាក់។ ជាមួយនឹងការគាំទ្រផ្នែកតែងយ៉ាងទូលំទូលាយ គម្រោង PHP កាន់តែអាចរក្សាបាន និងជាប់លាប់ក្នុងការដំឡើង។
២. ការសម្រួលដល់ការសហការប្រភពបើកចំហ៖ អ្នកតែង និងឃ្លាំងលំនាំដើមរបស់វា គឺអ្នកវេចខ្ចប់ បានបន្ទាបរបាំងសម្រាប់ការចែករំលែកកូដ និងរួមចំណែកដល់គម្រោងប្រភពបើកចំហ។ ជាជាងបង្កើតកង់ឡើងវិញជាមួយនឹងគម្រោងថ្មីនីមួយៗ អ្នកអភិវឌ្ឍន៍អាចសរសេរកម្មវិធីពីកញ្ចប់ដែលមានគុណភាពខ្ពស់រាប់រយដែលរក្សាដោយសហគមន៍។ នេះបង្កើនល្បឿនការបង្កើតថ្មី និងផលិតភាពទូទាំងប្រព័ន្ធអេកូ។
៣. គាំទ្រស្ថាបត្យកម្មទំនើប៖ អ្នកតែងបានលើកទឹកចិត្តដល់ស្ថាបត្យកម្មស្អាតតាមរយៈការបំបែកកូដមូលដ្ឋានម៉ូឌុល។ Frameworks ដូចជា Laravel បានបង្កប់ Composer យ៉ាងជ្រៅទៅក្នុងរន្ទារបស់ពួកគេ ពង្រឹងការចាក់ថ្នាំដែលពឹងផ្អែកត្រឹមត្រូវ និងការបំបែកកង្វល់។ នេះនាំឱ្យការអភិវឌ្ឍន៍ PHP តម្រឹមកាន់តែជិតទៅនឹងការអនុវត្តល្អបំផុតដែលឃើញនៅក្នុងវិស្វកម្មកម្មវិធីថ្នាក់សហគ្រាស។
៤. ការអនុវត្តល្អបំផុតវិមជ្ឈការ៖ អ្នកតែងបានជំរុញឱ្យមានការកើតឡើងនៃចលនា PSR (PHP Standards Recommendation) ដោយលើកទឹកចិត្តឱ្យមានការអនុវត្តល្អបំផុតក្នុងការដាក់ឈ្មោះអនុសញ្ញា ការផ្ទុកដោយស្វ័យប្រវត្តិ និងរចនាសម្ព័ន្ធកូដ។ ឧបករណ៍ដូចជា PHPStan, Psalm, និង PHP_CodeSniffer បានក្លាយជាកម្មវិធីតែងនិពន្ធ ដោយបង្កើតប្រព័ន្ធអេកូនៃការវិភាគឋិតិវន្ត និងឧបករណ៍ធានាគុណភាពជុំវិញ Composer។
៥. ការទទួលយកឧស្សាហកម្ម៖ ជាមួយនឹងកម្មវិធីតែង ការអភិវឌ្ឍន៍ PHP កាន់តែមានប្រសិទ្ធភាពសម្រាប់សហគ្រាសធំៗ និងវេទិកា SaaS ។ សមត្ថភាពក្នុងការខ្ទាស់ និងសវនកម្មភាពអាស្រ័យ ពង្រឹងការអាប់ដេតដែលមានសុវត្ថិភាព និងដំណើរការការស្ថាបនាដែលអាចផលិតឡើងវិញបាន បានធ្វើឱ្យកម្មវិធីតែងជាផ្នែកសំខាន់នៃបំពង់បង្ហូរប្រេង DevOps និងដំណើរការ CI/CD។
បើគ្មាន Composer PHP ទំនងជានឹងមិនវិវត្តទៅជាភាសាទំនើបដូចសព្វថ្ងៃនេះទេ។ អ្នកតែងបាននាំយកនូវលំដាប់ រចនាសម្ព័ន្ធ និងឧបករណ៍វិជ្ជាជីវៈទៅនឹងអ្វីដែលគេតែងតែមើលថាជាបរិយាកាសភាសា "ស្គ្រីប" ដោយជួយ PHP រក្សាការប្រកួតប្រជែងនៅក្នុងពិភពនៃការប្រើប្រាស់ Python, Node.js និង Ruby ដែលកំពុងកើនឡើង។
ដើម្បីដឹងគុណចំពោះផលប៉ះពាល់របស់អ្នកតែងយ៉ាងពេញលេញ វាជារឿងសំខាន់ក្នុងការយល់ដឹងពីការងារខាងក្នុង និងផ្នែកខាងក្នុងរបស់វា។ កម្មវិធីតែងដំណើរការជាចម្បងតាមរយៈចំណុចប្រទាក់បន្ទាត់ពាក្យបញ្ជា និងប្រព័ន្ធដោះស្រាយភាពអាស្រ័យដែលបានបង្កើតឡើងនៅក្នុង PHP ។ នេះជារបៀបដែលដំណើរការលាតត្រដាងនៅពីក្រោយឆាក៖
1. គ្រប់គ្រងឯកសារ composer.json
ឯកសារ composer.json ស្ថិតនៅចំកណ្តាលនៃរាល់គម្រោងដែលអនុញ្ញាតដោយអ្នកតែង។ វាមានទិន្នន័យមេតាដូចជាឈ្មោះគម្រោង ការពិពណ៌នា ភាពអាស្រ័យ កំណែ PHP ដែលត្រូវការ ការកំណត់រចនាសម្ព័ន្ធផ្ទុកដោយស្វ័យប្រវត្តិ និងស្គ្រីបស្រេចចិត្ត។ ឧទាហរណ៍៖
{ "require": { "monolog/monolog": "^2.0" }, "autoload": { "psr-4": { "កម្មវិធី\": "src/" } }}2. ដំណោះស្រាយភាពអាស្រ័យតាមរយៈ SAT Solver
អ្នកតែងប្រើកំណែនៃក្បួនដោះស្រាយកម្មវិធី SAT (Boolean Satisfiability Problem) ដើម្បីកំណត់សំណុំនៃកំណែកញ្ចប់ដែលត្រូវដំឡើង ដោយពិចារណាលើឧបសគ្គទាំងអស់ពីឯកសារ composer.json និងតម្រូវការអន្តរកាលពីភាពអាស្រ័យ។
នៅពេលដែលបានដោះស្រាយរួច អ្នកតែងសរសេរកំណែចុងក្រោយ និងទីតាំងប្រភពរបស់ពួកគេទៅកាន់ composer.lock។ វាធានានូវការដំឡើងដែលកំណត់នៅទូទាំងបរិស្ថានផ្សេងៗគ្នា។
៣. ការដំឡើង និងផ្ទុកដោយស្វ័យប្រវត្តិរបស់អ្នកលក់
កញ្ចប់ត្រូវបានទាញយកពី Packagist (ឬឃ្លាំងផ្ទាល់ខ្លួន) ហើយរក្សាទុកក្នុងថត អ្នកលក់។ Composer ថាមវន្តបង្កើតកម្មវិធីផ្ទុកស្វ័យប្រវត្តិដែលមានមូលដ្ឋានលើ PSR-4 ប្រកបដោយប្រសិទ្ធភាពនៅក្នុង vendor/autoload.php ដែលផ្តល់នូវការចូលប្រើភ្លាមៗទៅកាន់ថ្នាក់ណាមួយនៅក្នុង namespaces ដែលបានកំណត់។
4. ធ្វើបច្ចុប្បន្នភាពភាពអាស្រ័យ
ការដំណើរការ ការធ្វើបច្ចុប្បន្នភាពកម្មវិធីតែង ធ្វើឱ្យកញ្ចប់ទាំងអស់ឡើងវិញទៅកំណែចុងក្រោយបំផុតដែលត្រូវបានអនុញ្ញាតដោយឧបសគ្គ។ វាកែប្រែ composer.lock។ ទន្ទឹមនឹងនេះដែរ composer install ដំឡើងកញ្ចប់ដែលបានចាក់សោយ៉ាងពិតប្រាកដនៅក្នុង composer.lock ដោយធានាបាននូវការបង្កើតឡើងវិញ។
5. ស្គ្រីប និងទំពក់
កម្មវិធីតែងគាំទ្រស្គ្រីបមុន និងក្រោយការដំឡើង/ធ្វើបច្ចុប្បន្នភាព។ ឧទាហរណ៍ ដើម្បីដំណើរការការធ្វើតេស្តដោយស្វ័យប្រវត្តិបន្ទាប់ពីដំឡើងរួច៖
"scripts": { "post-install-cmd": [ "phpunit" ]}ស្គ្រីបអាចហៅពាក្យបញ្ជាសែល កម្មវិធីជំនួយអ្នកតែង ឬការហៅត្រឡប់របស់ PHP ដោយបន្ថែមភាពបត់បែនក្នុងការបង្កើត ការដាក់ពង្រាយ ឬលំហូរការងារដែលមានសុពលភាព។
6. ឃ្លាំងផ្ទាល់ខ្លួន និងកម្មវិធីជំនួយ
ខណៈដែល Packagist គឺជាឃ្លាំងលំនាំដើម ឃ្លាំងឯកជន ឬសហគ្រាសអាចត្រូវបានកំណត់។ លើសពីនេះ កម្មវិធីតែងគាំទ្រកម្មវិធីជំនួយដែលអាចកែប្រែឥរិយាបថលំនាំដើម បន្ថែមពាក្យបញ្ជាថ្មី ឬពង្រីកដំណើរការខាងក្នុង។
កម្មវិធីតែងដំណើរការជាមូលដ្ឋានជាអ្នកអនុវត្តកិច្ចសន្យារវាងមូលដ្ឋានកូដរបស់អ្នក និងភាពអាស្រ័យដែលវាប្រើ។ ជាមួយនឹងព្រំដែនច្បាស់លាស់ ការដំឡើងដែលអាចទុកចិត្តបាន និងការគាំទ្រសម្រាប់ស្វ័យប្រវត្តិកម្ម អ្នកតែងបាននាំមកនូវវិន័យវិស្វកម្មដល់ការគ្រប់គ្រងភាពអាស្រ័យរបស់ PHP ហើយនៅតែមិនអាចខ្វះបាននៅក្នុងគម្រោង PHP ទំនើប។
អ្នកអាចសប្បាយរីករាយនឹងនេះផងដែរ