1. 程式人生 > >lavarel-composer及lavarel路由

lavarel-composer及lavarel路由

composer使用:

在專案根目錄下的composer.json檔案裡的require裡新增語句"廠商/類庫名":"版本號"
執行```composer install```,如果需要再執行```composer update```
解除安裝類庫:```composer remove smarty/smarty```

不配置json檔案下載類庫的命令:composer require smarty/smarty=5.2.17

用composer 下載建立lavarel專案:

composer create-project lavarel/lavarel=5.1.33 (指定目錄名,預設為lavarel)

基礎路由:

	Route::get('test', function(){
		return 'test';
	});
	Route::post('admin/test', function(){
		return 'post';
	});//路由缺少post請求時會報錯MethodNotAllowedHttpException in RouteCollection.php line 218":

多請求路由,match匹配:

	Route::get('admin/login', function(){});
	Route::post('admin/login', function(){});
	// 優化寫法,用match代替
	Route::match(['get','post'], 'admin/login', function(){
		return 'login';
	});
多請求路由:any
	Route::any('admin/register', function(){
		return 'register';	
	});

路由傳參:

	Route::get('Home/user/{id}', function($id){
		return 'user_'.$id;
	});
	Route::get('User/{$id}/{$name}', function($id,$name){
		return 'user_'.$id.'_'.$name;
	});
 傳遞可選引數:
	Route::get('goods/{page}?', function($page=1){
		return 'page'.$page;
	});
 傳遞一個引數限制:
	Route::get('user/{name}', function($name){
		return 'user_'.$name;
	})->where('name', '[A-Za-z]*');
 傳遞多個引數限制:
	Route::get('user/{id}/{name}', function($id,$name){
		return 'user_'.$id.'_'.$name;
	})->where(['id'=>'[1-9]*', 'name'=>'[A-Za-z]*']);

響應控制器中的方法

Route::get('test', '[email protected]');