ចំណុចខ្លាំងមួយរបស់ Laravel គឺវាក្យសម្ព័ន្ធឆើតឆាយរបស់វា។ ប្រសិនបើអ្នកមាន គំរូ និងទំនាក់ទំនង ជាច្រើននៅក្នុង Laravel (ដោយសារតែតារាងជាច្រើននៅក្នុងមូលដ្ឋានទិន្នន័យ) ការឆ្លងកាត់ជាញឹកញាប់អាចបញ្ចប់ដោយកូដមិនសូវឆើតឆាយ។ យូរ ៗ ទៅ ផ្នែកបន្ថែមតូចៗចំនួនបីបានបង្ហាញថាជោគជ័យសម្រាប់ខ្ញុំ ដែលខ្ញុំចង់ណែនាំដោយសង្ខេបខាងក្រោម។ ដើម្បីធ្វើដូចនេះយើងគ្រាន់តែប្រើមរតកខ្លះ វិធីសាស្រ្តវេទមន្ត និងការប្រមូលផ្ទាល់ខ្លួន។
ដំបូងយើងបង្កើតគំរូថ្មីនៅក្រោម កម្មវិធី \ ConvenienceModel.php:
b45e29b9125c2ab565b5526442437686
បន្ទាប់មកយើងអនុញ្ញាតឱ្យម៉ូដែលទាំងអស់ទទួលមរតកពី ConvenienceModel ថ្មីរបស់យើង:
b45e29b9125c2ab565b5526442437686
លាយមុខងារផ្ទាល់ខ្លួនរបស់អ្នកជាមួយទំនាក់ទំនង
ប្រសិនបើអ្នកចង់ទទួលបានម៉ូដែលភ្ជាប់អ្នកប្រើវាក្យសម្ព័ន្ធស្តង់ដារដើម្បីហៅពួកគេ:
b45e29b9125c2ab565b5526442437686
ប្រសិនបើអ្នកបន្ថែមតក្កវិជ្ជាអាជីវកម្មផ្ទាល់ខ្លួនរបស់អ្នកអ្នកចង់ប្រើការកត់សំគាល់ករណីអូដ្ឋ (ទាប):
b45e29b9125c2ab565b5526442437686
យើងចង់ធ្វើឱ្យស្តង់ដារវាក្យសម្ព័ន្ធនៃវ៉ារ្យ៉ង់ទាំងពីរមានលក្ខណៈស្តង់ដារ។ ដើម្បីធ្វើដូចនេះយើងបានបន្ថែមវិធីសាស្រ្តវេទមន្ត __call ទៅ ConvenienceModel នេះ:
b45e29b9125c2ab565b5526442437686
ការហៅនេះក៏អាចធ្វើទៅបានផងដែរនៅក្នុងឧទាហរណ៍ខាងលើ:
b45e29b9125c2ab565b5526442437686
ពិនិត្យវត្ថុទទេ
ប្រសិនបើអ្នកចង់បញ្ចេញឈ្មោះប្រទេសសម្រាប់អាសយដ្ឋានផ្ទាល់ខ្លួន អ្នកតែងតែឃើញកូដខាងក្រោម:
b45e29b9125c2ab565b5526442437686
ដើម្បីទប់ស្កាត់បញ្ហានេះ យើងរួមបញ្ចូលបណ្ណាល័យ stringhelper ហើយត្រឡប់វត្ថុពិសេសនៃថ្នាក់ទទេ ទទេ ប្រសិនបើគំរូមិនត្រូវបានរកឃើញ:
b45e29b9125c2ab565b5526442437686
នេះមានន័យថាការហៅទូរសព្ទទទួលបានជោគជ័យ (ក្នុងឧទាហរណ៍នេះ ប្រសិនបើមានអ្វីមួយត្រូវបានរកឃើញ ឈ្មោះប្រទេសគឺជាលទ្ធផលក្នុងករណីផ្សេងទៀតជាខ្សែអក្សរទទេ):
b45e29b9125c2ab565b5526442437686
ប្រសិនបើយើងចង់និយាយអំពីករណីដែលអ្នកប្រើប្រាស់ដែលមានអត្តសញ្ញាណប័ណ្ណលេខ ៤២ ប្រហែលជាមិនមាននោះយើងក៏នឹងបង្កើតមុខងារជំនួយតូចមួយសម្រាប់បញ្ហានេះដែរ។:
b45e29b9125c2ab565b5526442437686
ការហៅដូចខាងក្រោមផ្តល់នូវខ្សែអក្សរទទេទោះបីជាអ្នកប្រើប្រាស់មិនមានក៏ដោយ:
b45e29b9125c2ab565b5526442437686
ទំនាក់ទំនងងាយស្រួល n: m ទំនាក់ទំនង
ចុងបញ្ចប់យើងចង់ធ្វើឱ្យកូដសាមញ្ញដូចខាងក្រោម:
b45e29b9125c2ab565b5526442437686
ចំពោះបញ្ហានេះយើងប្រើលទ្ធភាពនៃ ការប្រមូលតាមបំណង ។ ដំបូងយើងកំពុងពង្រីក គំរូភាពងាយស្រួល:
b45e29b9125c2ab565b5526442437686
បន្ទាប់មកយើងបង្កើត កម្មវិធីឯកសារ\Helpers\ConvenienceCollection.php ដែលធានាថាការហៅមុខងារមិនស្គាល់សម្រាប់ការប្រមូល ប្រតិបត្តិមុខងារសម្រាប់ធាតុទាំងអស់នៅក្នុងបណ្តុំ។:
b45e29b9125c2ab565b5526442437686
ដូច្នេះយើងអាចប្រើលេខកូដខាងក្រោមដើម្បីបង្កើតឈ្មោះនៃប្រទេសទាំងអស់នៃអាសយដ្ឋានទាំងអស់របស់ឪពុកម្តាយទាំងអស់របស់មនុស្ស:
b45e29b9125c2ab565b5526442437686
ប៉ុន្តែការហៅដូចខាងក្រោមក៏អាចធ្វើទៅបានដែរ:
b45e29b9125c2ab565b5526442437686
តម្រៀបតាមជួរឈរច្រើន
ការហៅទូរសព្ទខាងក្រោមគ្រាន់តែតម្រៀបតាម ទីតាំង ប៉ុណ្ណោះ ទោះបីជាវាប្រហែលជាមិនចង់បានក៏ដោយ។:
b45e29b9125c2ab565b5526442437686
ដើម្បីបើកដំណើរការតម្រៀបតាមជួរឈរជាច្រើនយើងកំពុងពង្រីក ConvenienceCollection របស់យើង:
b45e29b9125c2ab565b5526442437686
ជាមួយនឹងការដែលយើងអាចតម្រៀបការប្រមូលនេះបើយោងតាមជួរឈរជាច្រើនជាមួយ:
b45e29b9125c2ab565b5526442437686
ការតម្រៀបតាមស្តង់ដារ
យើងកំពុងពង្រីក ConvenienceCollection ជាមួយមុខងារជំនួយមួយទៀត:
b45e29b9125c2ab565b5526442437686
ឥឡូវអ្នកអាចផ្តល់ឱ្យគំរូនីមួយៗនូវមុខងារតម្រៀបស្តង់ដារបុគ្គល:
b45e29b9125c2ab565b5526442437686
ដូច្នេះយើងអាចរៀបចំការប្រមូលជាមួយ:
b45e29b9125c2ab565b5526442437686
ឈ្មោះវត្ថុ
ម៉ូដែលនីមួយៗអនុវត្តវិធីសាស្រ្ត GetLabel (getName ខុសគ្នាអាស្រ័យលើម៉ូដែល):
b45e29b9125c2ab565b5526442437686
ជាមួយនេះអ្នកអាចបង្កើតឈ្មោះនៃវត្ថុបានយ៉ាងឆាប់រហ័សនិងងាយស្រួល។ បន្ទាប់មកអ្នកអាចអនុវត្តវិធីជំនួយ sortByLabel ក្នុង ConvenienceCollection:
b45e29b9125c2ab565b5526442437686
លទ្ធផលទទេ
ប្រសិនបើជំហានមធ្យមគឺទទេមុខងារ Laravel ដំបូង () និងចុងក្រោយ () ជាធម្មតាត្រឡប់សូន្យ។ ដូច្នេះយើងណែនាំ getFirst () និង getLast () ដូច្នេះការហៅដូចខាងក្រោមតែងតែជោគជ័យ:
b45e29b9125c2ab565b5526442437686
ជាមួយនេះយើងប្រគល់ __empty_helper ដែល __x ទទួលស្គាល់:
b45e29b9125c2ab565b5526442437686