laravel基礎一路由、控制器、視圖

新框架使用:

路由(訪問) -> 控制器(調用) -> 視圖

要弄明白

路由如何創建?
控制器如何創建 並且 如何調用視圖
視圖如何創建?
如何操作數據庫獲取數據庫,傳遞給視圖
如何如何顯示數據

1 創建視圖

控制器存放目錄:app\Http\Controllers\平臺名稱\控制器名
命令:php artisan make:controller 平臺名\控制器名Controller
說明:使用artisan命令時必須在項目根目錄下,因爲artisan文件在根目錄下

2 創建路由

無參路由

// 語法
//【單個請求】
// Route::請求類型(請求的URL,匿名函數或控制器方法)
//請求類型:常用post,get,還有put,delete等共8中
//【多個請求】
//響應多個請求Route::match([請求類型],請求的URL,匿名函數或控制器方法)
// 響應所有請求Route::any(請求的URL,匿名函數或控制器方法);

Route::get('/', 'Home\Day1Controller@index');
Route::get('/', function (){
    return 'made in China';
});

Route::match(['get', 'post', 'put'], '/', function (){
    return '響應多種類型';
});
Route::any( '/', function (){
    return '響應所有類型';
});

有參路由

// 有參路由
// 語法:
//Route::HTTP請求類型(請求的URL/{參數名稱},
// 閉包函數或控制響應的方法)->where(參數名稱,正則表達式)

// 單參
Route::get(‘/{id}’, function (id){  
    return ‘單參’.’__’.
id;
});
Route::get(‘/{name}’, ‘Home\Day1Controller@index’);

// 多參
Route::get(‘/{id}/{name}’, ‘Home\Day1Controller@index’);
Route::get(‘/{id}/{name}’, function (id, name){
return ‘id:’.id.'__'.'name:'. name;
});

帶默認值參數

//單參帶默認值
Route::get('/{name?}', 'Home\Day1Controller@index');
//多參數默認值
Route::get('/{id?}/{name?}', 'Home\Day1Controller@index');

正則表達式限制參數

// 限制一個
Route::get('/{id}/{name}', 'Home\Day1Controller@index')->where('name','[a-zA-Z]+');
// 限制多個個
Route::get('/{id}/{name}', 'Home\Day1Controller@index')->where([
    'name' => '[a-zA-Z]+',
    'id' => '[0-9]+'
]);

路由羣組

//prefix是將子路由【請求url】公共部分提取
Route::group(['prefix'=>'a', 'namespace'=>'Home'],function (){
//    Route::get('/a/test1','Home\Day1Controller@index');
//    Route::get('/a/test2','Home\Day2Controller@index');
//    Route::get('/a/test3','Home\Day3Controller@index');

    Route::get('/test1','Day1Controller@index');
    Route::get('/test2','Day2Controller@index');
    Route::get('/test3','Day3Controller@index');
});

路由別名

//路由別名
Route::get('/test1/asdf/asdfasd/asdfasd/asdfasd',[
    'as' => 'test', 'uses' => 'Home\Day1Controller@index'
]);

Route::get('/test1/asdf/asdfasd/asdfasd/asdfasd',[
    'as' => 'test',
    function(){
    return 888;
    }
]);

別名使用

Route::get('/',function (){
    return view('welcome');
});

// welcome.blade.php文件
// route('test')將別名解析爲真正的URL
<form action="{{ route('test') }}">
    <input type="submit" value="提交">
</form>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章