laravel目錄介紹

2.1 laravel中的路由

在app/http/routers.php可寫以下操作

主要有:get post any match group

<?php

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', function () {
    return view('welcome');
});
//get請求,基礎路由
Route::get('basic1',function(){
    return 'hello';
});
#post請求
Route::post('basic2',function(){
    return 'hello11';
});

//多請求路由
Route::match(['get','post'],'multy1',function(){
    return 'multy1';
});
#響應全部請求
Route::any('multy2',function(){
    return 'multy2';
});

//路由參數
Route::get('user/{id}',function($id){
    return 'hello'.$id;
});
#參數可選
Route::get('user/{name?}',function($name = null){
    return 'hello name'.$name;
});
#默認參數
Route::get('user/{name?}',function($name = 'sss'){
    return 'hello name'.$name;
});
#使用表達式
Route::get('user/{name?}',function($name = 'sss'){
    return 'hello name'.$name;
})->where('name','[A-Za-z]+');
#多個參數傳參,並驗證
Route::get('user/{id}/{name?}',function($id,$name = 'sss'){
    return 'hello name:'.$name.' + aa:'.$id;
})->where(['name'=>'[A-Za-z]+','id'=>'[0-9]+']);

//路由別名
Route::get('user',['as'=>'c',function($id=null,$name = 'sss'){
    return Route('c');
}])->where(['name'=>'[A-Za-z]+','id'=>'[0-9]+']);

//路由羣組
Route::group(['prefix'=>'member'],function (){
    Route::get('user',['as'=>'c',function($id=null,$name = 'sss'){
        return Route('c');
    }])->where(['name'=>'[A-Za-z]+','id'=>'[0-9]+']);
    Route::any('multy2',function(){
        return '--multy2';
    });
});

//路由中輸出視圖
Route::get('view', function () {
    return view('welcome');
});

});

2.2控制器與路由

在app\http\controller 新建MemberController.php

namespace App\Http\Controllers;
class MemberController extends Controller {
    public function info($id){
        return 'member-info:'.$id;
//        return route('memberinfo');
    }
}

在app\http\routes.php

#訪問控制器的兩種方法
//Route::get('member/info','MemberController@info');
//Route::any('member/info',['uses'=>'MemberController@info']);

#使用別名訪問控制器
//Route::any('member/info',[
//    'uses'=>'MemberController@info',
//    'as'=>'memberinfo',
//]);

#傳參到控制器
Route::get('member/info/{id}','MemberController@info')
->where('id','[0-9]+');

結果:

註釋部分也可以嘗試一下哦!!!

2.2控制器與視圖

app\http\controller\MemberController.php

namespace App\Http\Controllers;
class MemberController extends Controller {
    public function info($id){
//        return 'member-info:'.$id;
//        return route('memberinfo');
        return view('member/info',[
            'name' =>'my name is lily',
        ]);
    }
}

Resources\views\member\info.blade.php

{{$name}}

app\http\routes.php

Route::get('member/info/{id}','MemberController@info')
->where('id','[0-9]+');

結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章