Laravel 框架:https://laravel.com/php
輕鬆學會Laravel-基礎篇 <---- from.html
輕鬆學會Laravel-中級篇laravel
輕鬆學會Laravel-高級篇正則表達式
URL --> [映射] --> 程序數據庫
app -- Https 業務邏輯
-- Http/routes.php【返回 (1) view --> resources/views/welcome.blade.php】
bootstrap -- 框架啓動,自動加載
-- autoload.php【加載 (1) /../vendor/autoload.php】
-- app.php【實例化 (2) app and then return $app】
config -- 配置文件,such as cache.
database -- 數據庫相關資源
public -- 靜態資源, such as pic.
-- index.php【加載 (1) /../bootstrap/autoload.php then (2) app.php】
resources -- 視圖以及原始的資源文件,views就是mvc中的v
-- views/welcome.blade.php【顯示的首頁 (2) html內容】
storage -- 編譯後的模板文件等。
tests -- 單元測試。
vendor -- 依賴模塊
基礎路由,多請求路由,示範以下:bootstrap
多請求路由:mvc
Route::match 既支持get,也支持post;app
Route::any 響應全部的請求;框架
詳見API中文文檔:https://docs.golaravel.com/docs/5.0/routing/函數
Ref: [Node.js] 07 - Html and Http
[1] Extract id in url.
Route::get('user/{id}', function($id) { return 'User-id-' . $id; });
[2] Extract name? in url. sean是默認參數。【有默認參數就加了個問號】
Route::get('user/{name?}', function($name = 'sean') { return 'User-name-' . $name; });
[3] 正則表達式限制路由參數。
Route::get('user/{name?}', function($name = 'sean') { return 'User-name-' . $name; }) -> where('name', '[A-Za-z]+');
[4] 參數綜合起來
Route::get('user/{id}/{name?}', function($id, $name = 'sean') { return 'User-id-' . $id . '-name' . $name; }) -> where(['id' => '[0-9]+', 'name', '[A-Za-z]+');
** "重定向" 的意思是?
當用戶訪問 /a
時,URL 將會被替換成 /b
,而後匹配路由爲 /b.
if ($student->save()) { return redirect('student/index'); } else { return redirect()->back(); }
** 「別名」又是什麼呢?
/a
的別名是 /b
,意味着,當用戶訪問 /b
時,URL 會保持爲 /b
,可是路由匹配則爲 /a
,就像用戶訪問 /a
同樣。【兩個URL對應一個頁面】
『別名』的功能讓你能夠自由地將 UI 結構映射到任意的 URL,而不是受限於配置的嵌套路由結構。
"member-center" 的別名爲 「center"。
顯示效果:
有了層級關係。
./member/user/center就能夠訪問了。
其實就是以前的 return view('welcome');
MembrConroller 裏的方法 info()的表達方式:MemberController@info
Route::get('member/info', 'MemberController@info');
Or array type:
Route::get('member/info', ['uses' => 'MemberController@info']
[routes.php]
[1] 打開路由,調用一個遠在另外一個文件夾的函數。
Route::any('member/{id}', ['uses' => 'MemberController@info']);]
[2] 函數在這裏,就是controller。
URL --> [映射] --> 程序 --> 界面
在resource/views中,例如創建:member-info.php這個view文件。
那麼,咱們就能夠經過 return view('member-info'); 來使用。
[1] 控制器 Controller 帶有參數:name & age。
[2] 視圖 View 顯示參數內容。
在app目錄下新建:Member.php
由於是靜態方法,因此能夠直接在 Controller 中調用 Model方法。