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 ចុចទីនេះ