របៀបប្រើប្រាស់ Route ក្នុង​ Codelgniter Framework

Route មានមុខងារជាអ្នកនាំផ្លូវទៅរកទីតាំងកន្លែងណាមួយនៃប្រព័ន្ធ(System) ដែលអ្នកបានកំណត់ថាវានឹងទៅទីណា ដែលជាទូទៅអ្នកកំណត់ទម្រង់ Route​ ដើម្បីអាចទៅកាន់ Controller (class) ណាមួយនៃប្រព័ន្ធ(System)។​ ក្នុងអត្ថបទនេះ ខ្ញុំនឹងបង្ហាញរបៀបបង្កើតRoute ក្នុង Codelgniter Framework ដល់អ្នកទាំងអស់គ្នា។​

ក្នុុងCodelgniter គេបង្កើត Route ដូចខាងក្រោម៖

Route ត្រូវបានកំណត់នៅក្នុូង application/config/routes.php ។​ ដែលក្នុងនោះអ្នកនឹងឃើញ អារេ (array) នៃ $route ($route[]) ដែលអាចឲ្យអ្នកធ្វើការផ្លាស់ប្តូរ ឬបន្ថែមអ្វីក្នុងកន្សោមនោះបាន ដើម្បីកំណត់ថាវាទៅកាន់ទីណានៃប្រព័ន្ធ(System)របស់អ្នក។

1) Wildcards

ជាការបង្កើតRoute ជំនួសការសរសេរ ទីតាំងController។

ឧទាហរណ៍៖

$route['about'] = 'info/about';

Route “about” ខាងលើនឹងធ្វើការទៅកាន់​ class “info” ដែលមាន method “about” (មើលរូបខាងក្រោម)

ការសរសេរ​ទម្រង់ Route នៅលើ Html : <a href=”<?php echo site_url(‘about’); ?>”>About</a>

2) Regular Expression

ជាការកំណត់ទម្រង់ Route ដែលអ្នកនឹងអនុញ្ញាតឲ្យធ្វើដំណើរការតាមអ្វីដែលអ្នកកំណត់នៅក្នុងកន្សោម Route។

ឧទាហរណ៍៖

$route[‘news/(\d+)’] =​ ‘news/view/$1’;

ទម្រង់ Route ខាងលើនឹងធ្វើការទៅកាន់ class “news” ដែលមាន method “view”  ដែលក្នុងនោះកន្សោម​ Route (\d+) នោះវាអនុញ្ញាតឲ្យតែជាតម្លៃលេខប៉ុណ្ណោះ(integer) ឯ​ $1 គឺជាអថេរ (variable) សម្រាប់ទទួលតម្លៃពីទម្រង់Routeនោះមកវិញ។​  (មើលរូបខាងក្រោម)

 

ការសរសេរ Route នៅលើ Html : <a href=”<?php echo site_url(‘news/$data[‘id’]’); ?>”>View</a>

សម្គាល់៖ អ្នកអាចស្វែងយល់បន្ថែមនូវការប្រើប្រាស់ Regular Expression ចុចនៅទីនេះ

3) Callbacks

ទម្រង់Route នេះគឺជាការប្រើប្រាស់ function​ ដើម្បីផ្តល់តម្លៃទៅកាន់ controller ណាមួយប៉ុណ្ណោះ។

ឧទាហរណ៍ ៖

$route['products/(a[a-zA-Z]+)/edit/(\d+)'] = function ($product_type, $id)
{
  return 'catelog/product_edit/'.strtolower($product_type).'/'.$id;
};

4) Using HTTP verbs in routes

ទម្រង់Route​ HTTP នេះគេហៅថា វិធីសាស្រ្តស្នើរសុំ (request method) ដែលអ្នកត្រូវប្រើប្រាស់មានដូចជា (GET, POST, PUT, DELETE, PATCH) ឬក៏អាចកំណត់ថាជាអ្វីក៏បានតាមរបៀបរបស់អ្នកពេញចិត្ត (ឧទាហរណ៍៖ PURGE) ហើយវាក៏មិនប្រកាន់អក្សរតូច ឬអក្សរធំឡើយ  តែអ្វីដែលអ្នកនឹងបន្ថែមនោះគឺ អារេ (array) method​​ នៃទម្រង់ Route។

ឧទាហរណ៍៖

$route['products']['put'] = 'product/insert';

ទម្រង់Route ខាងលើនៅហៅ​ class នៃcontroller “product” ដែលមាន method insert

ឧទាហរណ៍បន្ថែម៖

$route['products'][':num']['DELETE'] = 'product/delete/$1';

ការប្រើប្រាស់នៅលើ Html ឧទាហរណ៍: <form action=”<?php echo site_url(‘products’); ?>” method=”put”>

បន្ថែមពីអ្វីដែល Techfree បានបង្ហាញអ្នកអាចសិក្សាស្វែងយល់បន្ថែមនៅគេហទំព័ររបស់ Codelgniter framework ចុចទីនេះ