1.路由上下關係影響接收情況
/test
/{name} /test送到/test中php
/{name}
/test /test送到/{name}中css
2.重定向+傳送數據Redirect::to
return Redirect::to("test")->with("params",$name);
在test中用Session::get("params")接收params參數html
3.Redirect::route
回傳數據
return Redirect::route("test",array("num"=>10));
return Redirect::action('UserController@profile', array("num" => 1));
接收使用Input::get("num");laravel
4.在路由中寫
View::share('name', 'Steve');
在全部模板頁面中均可以調用數組
5.獲取子模板中的內容,並填充到指定模板的位置
View::make("hello")->nest("自定義名稱","子模板名稱",array(子模板所需的數據));
在模板hello.php中指定位置輸出‘自定義名稱’就好了;cookie
6.向控制器傳參數
路由:Route::get('/{name?}', "HomeController@showWelcome")->where("name","[\w]+");
控制器:public function showWelcome($name=null){ ... }post
7.1 Route::controller("參數名","控制器名");的做用
例子:
路由頁面中
Route::controller("demo","DemoController");
訪問DemoController控制器getLogin方法 http://192.168.128.100/demo/login
Route::controller('demo','DemoController',array(
'getIndex' => 'demo.index', //控制器中getIndex($params)有參數,訪問方式爲http://192.168.128.100/demo/index/參數
'getLogin' => 'demo.login'
));
注:參考《http://ofcss.com/2014/12/16/two-tips-about-laravel-4.html》url
DemoController控制器中
public function anyIndex(){} Index是默認的接收方法,三種變體anyIndex,getIndex,postIndex接收
方法名:接收方式+名稱 any=(get,post....)
public function getProfile() url:http://192.168.128.100:8080/public/demo/profile
總結:Router::controller設定指向的控制器,裏面的方法名通常爲:訪問方式(get,post,put,delete..)+ 自定義名稱,默認訪問的是index方法
public function getIndex()
public function postIndex()htm
7.2 Route::resource("參數名","控制器名稱");
Route::resource('demo','DemoController')
被Router::resource設定指向的控制器,裏面的方法名通常默認的有index,create,store,show,edit,save,destroy,其餘的能夠根據需求自定義,並且不用加水請求方式索引
請求方法 請求URI 自動對應的控制器方法 表明的意義
GET /article index 索引/列表
GET /article/create create 建立(顯示錶單)
GET /article/{id} show 顯示對應id的內容
GET /article/{id}/edit edit 編輯(顯示錶單)
POST /article store 保存你建立的數據
PUT/PATCH /article/{id} save 保存你編輯的數據
DELETE /article/{id} destroy 刪除
注:參考《https://phphub.org/topics/688》
8.cookie
獲取:Cookie::get('name')
添加:$response = Response::make('Hello World');
9.控制器中調用model
模型Demo.php
class Demo extends Eloquent{ }
1.控制器中
$demo = new Demo();
$demo->方法();
2.$result = with( new Demo )->模型方法();
10.獲取插入的數據的id
public $incrementing = true;能夠不寫,默認爲true,可是爲false就獲取不了了,這是禁止主鍵遞增的
在模型中
$demo = new Demo();
$demo->name = 'three';
$demo->age = '3';
$demo->save();
dd($demo->id);
11.屬性$fillable,$guarded的做用
這兩個做用是管理某些字段在create中是否會被插入到表中。create是插入新的數據到表中
在create時,若是不在模型類中聲明這兩個屬性,是會報錯的
只有在$fillable數組中的字段,才能被插入到表中,若是某些字段在guarded中,則不會被插入到表中,即時他在create中
注意:當有100多個字段時,都要被插入到表中,不可能都一個個寫入到fillable中,這時能夠不寫fillable,把guarded=array()