Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,667

HOME > บทความจากสมาชิก > Route::In Laravel PHP Framework Part 2





 
Clound SSD Virtual Server

Route::In Laravel PHP Framework Part 2

Route::In PHP Laravel Framework Part 2 วันนี้มาต่อเรื่องที่ค้างไว้เมื่อวานนะครับ เราจะมาพูดถึงเรื่องการกรอง URL กัน Route ของ Laravel มี ฟังก์ชัน filter ให้ ซึ่งจะมีประโยชน์ในการตรวจสอบสิทธิ์และเพิ่มการจัดการสิทธิ์การเข้าถึง เช่น เมื่อมีการเรียกฟังก์ชัน admin_create เรามาดูตัวอย่างกัน

เริ่มแรกเราก็สร้าง filter ขึ้นมาก่อน

Code (PHP)
Route::filter('filter', function()
{ return Redirect::to('home'); });


ทีนี้เราก็แทรก ไว้ใน route ได้เลย

Code (PHP)
Route::get('blocked', array('before' => 'filter', function()
{ return View::make('blocked'); }));


เราสามารถกำหนดให้ filter ทำงานก่อนหรือหลัง ได้ อย่างในตัวอย่าง เรากำหนดให้เมื่อ มีการเรียก download controller หลังจากนั้นก็เรียก log controller

Code (PHP)
Route::get('download', array('after' => 'log', function()
{     ////   }));


เราสามารถแทรกหลายๆ controller ลงไปได้อีก อย่างในตัวอย่าง ก่อนที่จะเรียก create เราจะให้ class auth กับ csrf ทำงานเพื่อตรวจสอบสิทธิ์ และกรองค่าที่ไม่ปลอดภัยก่อน

Code (PHP)
Route::get('create', array('before' => 'auth|csrf', function()
{  //  }));


ความพิเศษอีกอย่างคือเราสามารถส่ง parameter ไปพร้อมกับตอนเรียกใช้งาน controller ได้เลย

Code (PHP)
Route::get('panel', array('before' => 'role:admin', function()
{ //// }));


Pattern Filters

บางครั้งเราต้องการตรวจสอบสิทธิ์ของผู้ใช้งาน ก่อนจะเข้าถึง ฟังชันที่เกี่ยวกับการจัดการระบบ
เราต้องกำหนดแบบนี้เลยครับ

Code (PHP)
Route::filter('pattern: admin/*', 'auth');


จะเหมือนตัวอย่างข้างบน ทุกการเรียกใช้ ฟังชันใน controller admin จะถูกดึงเข้า ไปตรวจใน controller auth ก่อน
Code (PHP)
Route::filter('pattern: admin/*', array('name' => 'auth', function()
{  //// }));


Global Filters

เราสามารถสร้างตัวกรองระดับที่ทุกการเรียกใช้จะเข้ามาตรวจใน route นี้ก่อนโดยใน laravel มีตัวอย่างนำมาให้แล้ว ตัวไฟล์จะอยู่ที่ application/routes.php

laravel_global_filter

Route Groups

อยากสร้างตัวกรองเป็นแบบกลุ่มก็สร้างได้เลยครับ ลักษณะจะเหมือนจับฟังชันแม่ฟังชันลูก

Code (PHP)
Route::group(array('before' => 'auth'), function()
{
Route::get('panel', function(){});
Route::get('dashboard', function(){});
});



Named Routes

เป็นการสร้างชื่อเล่นให้กับ route ครับ ลักษณะจะเป็นแบบใน MYSQL ที่เราใช้คำว่า as ทำให้ชื่อ filed สั้นลง ใน larval ก็เช่นเดียวกัน เมื่อเราเรียกใช้ home ก็จะลิ้งไปยัง admin/index นะครับ

สร้าง named route:

Code (PHP)
Route::get('admin/index', array('as' => 'home', function()
{
    return "Hello World";
}));


สร้างลิ้งโดยใช้ named route ที่เราสร้างข้างบน

Code (PHP)
$url = URL::to_route('home');


สร้างการส่งกลับโดยใช้ลิ้งที่เราสร้าง

Code (PHP)
return Redirect::to_route('home');


บางครั้งเราก็ต้องการตรวจสอบที่มาของรีเควสก็ตรวจได้ง่ายๆแบบในตัวอย่างเลยครับ

Code (PHP)
if (Request::route()->is('home'))
{
    // The "home" route is handling the request!
}



HTTPS Routes

บางครั้งเราต้องใช้ https ก็สามารถใส่ option เสริมเข้าไปแบบในตัวอย่างได้เลยครับ

Code (PHP)
Route::get('login', array('https' => true, function()
{return View::make('login');}));


หรือจะใช้ฟังก์ชัน secure ของ route ได้เลยครับ

Code (PHP)
Route::secure('GET', 'login', function()
{
    return View::make('login');
});
Bundle Routes


Bundle คือส่วนขยายของ laravel นั้นเองครับ ในตัวอย่างนี้เราจะกำหนดค่า url ให้ bundle นะครับ ไฟล์ที่จะแก้นั้นอยู่ที่
applications/bundle.php

Code (PHP)
return array(
    'admin' => array('handles' => 'admin'), 
);


Handles จะบอกให้ laravel โหลด bundle ชื่อว่า admin ขึ้นมาเมื่อเรียกใช้ admin
แล้วเราก็มาสร้าง route ให้กับ bundle ที่ไฟล์ route.php เลยครับ

Code (PHP)
Route::get('(:bundle)', function()
{
    return 'Welcome to the Admin bundle!';
});



Controller Routing

ใน laravel นั้นเราต้องสร้าง route ให้ controller ด้วยนะครับ ไม่สร้างแปลว่า ไม่อนุญาตให้เข้าถึง controller นั้น ตัวอย่างข้างล่างเป็นการสร้าง Route ให้ controller ทั้งหมด

Code (PHP)
Route::controller(Controller::detect());


Controller::detect จะส่งกลับค่า controller ทั้ง app เลย
สร้าง Route ให้ controller ใน bundle

Code (PHP)
Route::controller(Controller::detect('admin'));


สร้าง Route ให้ method

Code (PHP)
Route::get('welcome', '[email protected]');


เก็บ log ด้วยเลยก็ได้

Code (PHP)
Route::get('welcome', array('after' => 'log', 'uses' => '[email protected]'));


สร้างชื่อเล่นให้ method index ในcontroller home ให้ชื่อเล่นว่า home.welcome เมื่ิอมีการเรียก parameter welcome

Code (PHP)
Route::get('welcome', array('as' => 'home.welcome', 'uses' => '[email protected]'));
CLI Route Testing


เราสามารถทดสอบ Route ที่เราสร้างผ่าน command line ได้ผ่าน คำสั่ง artisan เลยผลที่ออกมาจะเหมือน ใช้คำสั่ง var_dump

Code (PHP)
php artisan route:call get api/user/1







   
Share
Bookmark.   

  By : taqman
  Article : บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ
  Score Rating :
  Create Date : 2013-05-09
  Download : No files
Sponsored Links
Writing Clean Code [ PHP ]
Writing Clean Code [ PHP ]
Code ที่ถูกเขียนในรูปแบบที่เป็นระเบียบ เข้าใจง่ายและการจัดรูปแบบที่ได้การยอมรับจากคนส่วนใหญ่ Code ที่เราเขียนควรจะเป็น Code ที่สามารถเข้าใจได้ สำหรับทุกๆคน เนื่องจาก Programmer มีรูปแบบการเขียนแตกต่างกันออกไป
Rating : Update : 2018-03-19 13:26:07
วิธีการ Convert String ไปเป็น Date Time ของ SQL Server ในรูปแบบต่างๆ
วิธีการ Convert String ไปเป็น Date Time ของ SQL Server ในรูปแบบต่างๆ
Execute the following T-SQL scripts in Microsoft SQL Server Management Studio (SSMS) Query Editor to demonstrate T-SQL CONVERT and CAST functions in transforming string SQL date formats, string time & string datetime data to datetime data type. Practical examples for T-SQL DATE / DATETIME functions.
Rating : Update : 2018-08-10 13:01:19
SQL Server 2008 การ SELECT แบบ LIKE % % ใน Query Builder
SQL Server 2008 การ SELECT แบบ LIKE % % ใน Query Builder
พอดีวันนี้นั่งเขียนโปแรกรม ฐานข้อมูลลูกค้าอยู่ มีจุดที่ต้องการค้นหา โดยใช้ like % % ซึ่งปกติ ผมจะมักใช้งาน query builder มากว่า มานั่งเขียนโค้ดเองอยู่แล้ว
Rating : Update : 2018-10-16 10:41:57
SQL Server Call HTTP URL เรียกใช้งาน URL Website จาก Stored Procedure
SQL Server Call HTTP URL เรียกใช้งาน URL Website จาก Stored Procedure
เทคนิคการใช้ SQL Server Call URL เรียกใช้งาน URL Website จาก Stored Procedure ของ SQL Server สามารถประยุกต์การใช้งานกับ Function ต่างๆ เช่น การเรียกให้ URL ทำงานเมื่อ Stored Procedure ทำงานเสร็จ
Rating : Update : 2019-04-29 09:39:38
C# อ่านค่า Text file มาเเสดงบน DataGridView
C# อ่านค่า Text file มาเเสดงบน DataGridView
อ่านค่า Textfile.txt มาเเสดงบน DataGridView เเล้วดึงข้อมูลมาแสดงบน Textbox พอเป็นแนวทางสำหรับ คนที่ต้องการนำไปประยุกใช้ครับ
Rating : Update : 2019-04-23 11:19:42
JavaScript ใช้ Deferred แทน  Callback
JavaScript ใช้ Deferred แทน Callback
การทำงานของ javascript บางอย่าง จำเป็นต้องรองานก่อนหน้าให้เสร็จก่อนแล้วจึงสั่งให้ทำงานปัจจุบัน การทำแบบนี้แต่เดิมมักใช้ callback function แต่ปัจจุบันนี้มีวิธีที่ดีกว่านั้น คือ Deferred
Rating : Update : 2018-07-04 01:12:34
ติดตั้ง SSL Certificate (https) บน Direct Admin แบบง่าย ๆ (Step by Step)
ติดตั้ง SSL Certificate (https) บน Direct Admin แบบง่าย ๆ (Step by Step)
วิธีการติดตั้ง SSL Certificate ให้เว็บไซต์สามารถเปิดแบบ https รองรับมารฐานการรับส่งข้อมูล อย่างปลอดภัยและสร้างความน่าเชื่อถือให้กับเว็บไซต์
Rating : Update : 2017-12-22 17:20:49
ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


สุดยอด Source Code V2.0
 

แจ้งชำระเงิน/โอนเงิน
 

Hit Link
   







Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่