安裝composer組件
wget https://getcomposer.org/composer.pharchmod +x composer.pharmv composer.phar /bin/composer
在php.ini中打開php_openssl的擴展程序
composer create-project laravel/laravel Laravel --prefer-distcomposer create-project laravel/laravel Laravel --prefer-dist "5.1.*"
第一條是獲取最新的Laravelmd是什么網站縮寫, 第二條是5.1版本的md是什么網站縮寫,因為我是跟著實驗樓學習的,因此個人安裝的第二條命令,最新版的Laravel我發(fā)現md是什么網站縮寫了一些很明顯的改變
用composer初始化
composer update
最后在Laravel的Pulbic目錄運行
php -S localhost:81
在瀏覽器窗口輸入Localhost:81即可看到Laravel運行成功的畫面
文件結構
下面簡單介紹一下Laravel源碼里每個文件夾都是用來做什么的,了解結構才能更好地進行后續(xù)的開發(fā)。
文件夾 介紹app 網站的業(yè)務邏輯代碼,例如:控制器/模型/路由等bootstrap 框架啟動與自動加載設置相關的文件config 網站的各種配置文件database 數據庫操作相關的文件public 網站的對外文件夾,入口文件和靜態(tài)資源(CSS,JS,圖片等)resources 前端視圖文件和原始資源(CSS,JS,圖片等)storage 編譯后的視圖、基于會話、文件緩存和其它框架生成的文件tests 自動化測試文件vendor Composer 依賴文件
除了上述文件夾,根目錄下有些文件也比較常用:
文件 介紹.env 環(huán)境配置文件.env.example .env 文件的一個示例.gitignore git 的設置文件,制定哪些文件會被 git 忽略,不納入文件管理composer.json 網站所需的 composer 擴展包composer.lock 擴展包列表,確保這個網站的副本使用相同版本的擴展包gulpfile.js GULP 配置文件( GULP 后邊會學到)package.json 網站所需的 npm 包readme.md 網站代碼說明文件
路由
路由系統(tǒng)會對用戶輸入的URL地址進行解析,然后分配不同的工作,有點像路由器。
基本路由
結構一般是如下:
Route::get('welcome', function () { return view('welcome');});Route::get('/', function() { return 'Index Page';});
路由動作
我們知道,一個url請求可能有多種類型,除了常用的GET,還可能有POST、PUT、DELETE等類型的請求。
對應的處理方法如下:
Route::post('/foo', function() { //該路由將匹配 post方法的 '/foo' url});Route::put('/foo', function() { //該路由將匹配 put方法的 '/foo' url});
除此之外,還可以用match來同時處理多種類型的請求:
Route::match(['get', 'post'],'/foo', function () { // 該路由將匹配 get 和 post 方法的 'foo' url});
甚至,還可以使用any來同時處理所有類型的請求:
Route::any('/foo', function() { // 該路由將匹配 所有 類型的 'foo' url});
路由參數
Route::get('sum/{a}/', function ($a, $b) { return $a . ' + ' . $b . '=' . $a + $b;});
訪問localhost/sum/1/2 , 返回1+2=3。
有時md是什么網站縮寫你需要指定可選的路由參數,可以通過在參數后面加上?來實現。
Route::get('hello/{name?}', function ($name = null) { return 'Hello! '.$name;});
這時md是什么網站縮寫你訪問localhost/hello將不會報錯,只是參數是空值,也可以為該可選參數設定一個默認值,當url未傳參時,將顯示默認值。
Route::get('hello/{name?}', function ($name = 'Tom') { return 'Hello! '.$name;});
命名路由
Route::get('foo', function() { //})->name('foo');
在后面添加一個后綴->name('foo')即可
正則表達式限制路由
你可以使用where方法來限制參數的格式。where方法接受參數的名稱和正則表達式。
Route::get('hello/{name?}', function ($name = 'Tom') { return 'Hello! '.$name;})->where('name','[A-Za-z]+');
一些其他函數
url()可以使用url('foo')函數來生成完整的URL。
控制器
路由部分代碼: (Routes.php)
Route::get('/', function () { return view('welcome');});Route::get('/user/name', 'UserController@name');
這段代碼的意思就是,當用戶訪問'localhost/user/name'這個URL的時候,調用UserController這個控制器的name方法來處理請求。也就是說,將原來的閉包函數放到了一個單獨的文件中。
我們可以將有共同特征的路由處理函數放到一個共同的控制器中,例如下面這種方式:
<br /><br />Route::get('/user/name', 'UserController@name');Route::get('/user/age', 'UserController@age');Route::get('/user/introduction" alt=" md是什么網站縮寫_md是什么網絡語言縮寫" title=" md是什么網站縮寫_md是什么網絡語言縮寫">