laravel·ÓÉÔõôʵÏÖ
laravelÊÇÒ»¸öÊ¢ÐеÄphp¿ò¼Ü£¬ËüÌṩÁËÒ»ÖÖÒ×ÓÚʹÓõÄ·ÓÉϵͳ¡£laravelµÄ·ÓÉϵͳÔÊÐíÄúΪ²î±ðµÄuriºÍhttpÇëÇó½ç˵ҪÁì¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃǽ«ÉîÈë̽ÌÖlaravel·ÓɵÄʵÏÖ¡£
»ù±¾Â·ÓÉ
LaravelµÄ»ù±¾Â·Óɽç˵ºÜÊǼòÆÓ¡£ÎÒÃÇ¿ÉÒÔʹÓÃRouteÀàµÄget¡¢post¡¢put¡¢deleteµÈÒªÁìÀ´½ç˵·ÓÉ¡£
ÀýÈ磬ÎÒÃÇ¿ÉÒÔ½ç˵һ¸ö»ù±¾µÄGET·ÓÉ£º
Route::get('/hello', function () { return 'Hello, Laravel!'; });
µÇ¼ºó¸´ÖÆ
ÉÏÃæµÄ·Óɽç˵ÁËÒ»¸öURIΪ/helloµÄGETÇëÇó·ÓÉ£¬·µ»Ø×Ö·û´®¡°Hello£¬Laravel£¡¡±¡£
·ÓɲÎÊý
ÔÚÏÖʵӦÓÃÖУ¬Â·ÓÉ¿ÉÄÜ»á´øÓвÎÊý¡£LaravelµÄ·ÓÉϵͳÔÊÐíÄú½çËÃ÷ÈÕâЩ²ÎÊý¡£Äú¿ÉÒÔʹÓÃ{param}Óï·¨ÔÚ·ÓÉÖнç˵²ÎÊý£¬ÆäÖÐparamÊDzÎÊýÃû³Æ¡£
ÀýÈ磬ÎÒÃÇ¿ÉÒÔ½ç˵һ¸ö½ÓÊܲÎÊýµÄ·ÓÉ£º
Route::get('/user/{id}', function ($id) { return 'User ID: ' . $id; });
µÇ¼ºó¸´ÖÆ
ÉÏÃæµÄ·Óɽç˵ÁËÒ»¸ö½ÓÊÜid²ÎÊýµÄGETÇëÇó·ÓÉ¡£Ôڻص÷º¯ÊýÖУ¬ÎÒÃÇ¿ÉÒÔʹÓÃ$id±äÁ¿À´»ñȡת´ïµÄ²ÎÊý£¬²¢½«Æä·µ»Øµ½ä¯ÀÀÆ÷ÖС£
¿ÉÑ¡²ÎÊý·ÓÉ
Laravel·ÓÉϵͳÔÊÐíÄú½ç˵¿ÉÑ¡µÄ·ÓɲÎÊý¡£Ö»ÐèÔÚ²ÎÊýÃû³ÆºóÃæ¼ÓÉÏ?¼´¿É½«²ÎÊý±ê¼ÇΪ¿ÉÑ¡µÄ¡£
ÀýÈ磬ÎÒÃÇ¿ÉÒÔ½ç˵һ¸ö´øÓпÉÑ¡²ÎÊýµÄ·ÓÉ£º
Route::get('/user/{id}/{name?}', function ($id, $name = null) { if ($name) { return 'User ID: ' . $id . ', Name: ' . $name; } else { return 'User ID: ' . $id; } });
µÇ¼ºó¸´ÖÆ
ÉÏÃæµÄ·Óɽç˵ÁËÒ»¸ö½ÓÊÜidºÍ¿ÉÑ¡name²ÎÊýµÄGETÇëÇó·ÓÉ¡£Ôڻص÷º¯ÊýÖУ¬ÎÒÃǼì²é$nameÊÇ·ñ±£´æ¡£ÈôÊDZ£´æ£¬ÎÒÃǽ«idºÍnameÒ»Æ𷵻ء£²»È»£¬½ö·µ»Øid²ÎÊý¡£
ÕýÔò±í´ïʽԼÊø
ÓÐʱ£¬Äú¿ÉÄÜÐèÒª¶Ô·ÓɲÎÊý¾ÙÐÐÕýÔò±í´ïʽԼÊø£¬ÒÔÈ·±£ËüÃÇÇкÏijЩ¹æÔò¡£ÔÚLaravelÖУ¬Äú¿ÉÒÔʹÓÃÕýÔò±í´ïʽÀ´Ö´Ðд˲Ù×÷¡£
ÀýÈ磬ÎÒÃÇ¿ÉÒÔ½ç˵һ¸ö´øÓÐÕýÔò±í´ïʽԼÊøµÄ·ÓÉ£º
Route::get('/user/{id}/{name}', function ($id, $name) { return 'User ID: ' . $id . ', Name: ' . $name; })->where(['id' => '[0-9]+', 'name' => '[a-zA-Z]+']);
µÇ¼ºó¸´ÖÆ
ÉÏÃæµÄ·Óɽç˵ÁËÒ»¸ö´øÓÐidºÍname²ÎÊýµÄGETÇëÇó·ÓÉ¡£Ôڻص÷º¯ÊýÖУ¬ÎÒÃǽ«ÕâÁ½¸ö²ÎÊýÒ»Æ𷵻ء£ÔÚ½ç˵·ÓÉʱ£¬ÎÒÃÇʹÓÃwhereÒªÁìÖ¸¶¨id²ÎÊý±ØÐèÆ¥Åä[0-9]+ÕýÔò±í´ïʽ£¬¶øname²ÎÊý±ØÐèÆ¥Åä[a-zA-Z]+ÕýÔò±í´ïʽ¡£
ÃüÃû·ÓÉ
ÔÚLaravelÖУ¬Äú¿ÉÒÔΪ·Óɽç˵Ãû³Æ£¬ÕâʹµÃÔÚ½ç˵URLʱ±äµÃÔ½·¢ÈÝÒס£
ÀýÈ磬ÎÒÃÇ¿ÉÒÔ½ç˵һ¸öÃüÃû·ÓÉ£º
Route::get('/user/profile', function () { return 'User Profile'; })->name('profile');
µÇ¼ºó¸´ÖÆ
ÉÏÃæµÄ·Óɽç˵ÁËÒ»¸öGETÇëÇó·ÓÉ£¬²¢½«ÆäÃüÃûΪprofile¡£ÔÚ½ç˵·ÓÉʱ£¬ÎÒÃÇʹÓÃnameÒªÁìÖ¸ÃüÃû³Æ¡£ÏÖÔÚ£¬ÎÒÃÇ¿ÉÒÔÔÚ´úÂëÖÐʹÓÃÕâ¸öÃû³ÆÀ´ÌìÉúURL¡£
URLÌìÉúÆ÷
LaravelµÄURLÌìÉúÆ÷ÔÊÐíÄúÇáËÉÌìÉúÓ¦ÓóÌÐòµÄURL¡£Äú¿ÉÒÔʹÓÃrouteº¯ÊýÀ´ÌìÉú·ÓɵÄURL¡£
ÀýÈ磬ÎÒÃÇ¿ÉÒÔʹÓÃÉÏÃæµÄÃüÃû·ÓÉÀ´ÌìÉúURL£º
$url = route('profile');
µÇ¼ºó¸´ÖÆ
ÉÏÃæµÄ´úÂ뽫ÌìÉúÒ»¸öÖ¸Ïò/profileµÄURL¡£
¿ØÖÆÆ÷·ÓÉ
ÔÚLaravelÖУ¬Äú»¹¿ÉÒÔ½«Â·ÓÉÖ¸Ïò¿ØÖÆÆ÷ÒªÁ죬¶ø²»ÊÇÖ±½ÓÖ¸¶¨±Õ°ü»Øµ÷º¯Êý¡£ÕâÑù£¬Äú¾Í¿ÉÒÔÔÚ¿ØÖÆÆ÷Öм¯Öд¦ÀíÇëÇó¡£
ÀýÈ磬ÎÒÃÇ¿ÉÒÔ½ç˵һ¸ö¿ØÖÆÆ÷·ÓÉ£º
Route::get('/user/{id}', 'UserController@show');
µÇ¼ºó¸´ÖÆ
ÉÏÃæµÄ·Óɽç˵ÁËÒ»¸öGETÇëÇó·ÓÉ£¬Ëü½«/id²ÎÊýÖ¸ÏòUserController¿ØÖÆÆ÷µÄshowÒªÁì¡£
RESTful·ÓÉ
RESTful·ÓÉÔÊÐíÄúΪӦÓóÌÐò½ç˵RESTful API¶Ëµã¡£ÔÚLaravelÖУ¬Äú¿ÉÒÔʹÓÃRouteÀàµÄresourceÒªÁìÀ´½ç˵RESTful·ÓÉ¡£
ÀýÈ磬ÎÒÃÇ¿ÉÒÔ½ç˵һ¸öRESTful·ÓÉ£º
Route::resource('photos', 'PhotoController');
µÇ¼ºó¸´ÖÆ
ÉÏÃæµÄ´úÂ뽫ΪÎÒÃÇÌṩĬÈϵÄRESTful·ÓÉ£¬°üÀ¨index¡¢create¡¢store¡¢show¡¢edit¡¢updateºÍdestroyÒªÁì¡£ÕâЩҪÁ콫ÓÃÓÚÔÚPhotoController¿ØÖÆÆ÷Öд¦ÀíÇëÇó¡£
×ܽá
ÕâƪÎÄÕº¸ÇÁËLaravel·ÓɵĻù´¡ÖªÊ¶¡£ÎÒÃÇÏàʶÁË»ù±¾Â·ÓÉ¡¢Â·ÓɲÎÊý¡¢¿ÉÑ¡²ÎÊý¡¢ÕýÔò±í´ïʽԼÊø¡¢ÃüÃû·ÓÉ¡¢URLÌìÉúÆ÷¡¢¿ØÖÆÆ÷·ÓɺÍRESTful·ÓÉ¡£LaravelµÄ·ÓÉϵͳºÜÊÇÇ¿Ê¢£¬¿ÉÇáËÉ´¦ÀíÖÖÖÖÇëÇó¡£
ÒÔÉϾÍÊÇlaravel·ÓÉÔõôʵÏÖµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡