系列之一為童鞋們搭好了舞臺,今天正式登臺跑框架了……
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),疊彩企業(yè)網(wǎng)站建設(shè),疊彩品牌網(wǎng)站建設(shè),網(wǎng)站定制,疊彩網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,疊彩網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。從“路由”開始,玩一把“Hellow world!”
Route::get(‘/’, function () {
//return view(‘welcome’);
return ‘Hellow world!’;
});
laravel 的每一個路由是需要手動定義的,默認(rèn)歡迎頁面(參數(shù))
是 resources/views 目錄下的文件名welcome.blade.php去掉 blade.php后綴,對應(yīng)的路由
url 是 “http://www.rk.com/”
依此類推,把根目錄“/”換成子目錄“tests”模擬歡迎頁面新定義一個路由:
Route::get(‘tests’, function () {
return view(‘logo’);
});
調(diào)用頁面(參數(shù))
是 resources/views 目錄下的文件名logo.blade.php去掉 blade.php后綴
多多找一下路由(R)與(V)示例文件模仿書寫格式,依此類推,只要格式相互對應(yīng)起來就可以發(fā)生關(guān)聯(lián),調(diào)用視圖
url 就應(yīng)該是 “http://www.rk.com/tests”
就是這樣子,把MVC中的路由和視圖(V)關(guān)聯(lián)起來了,×××長征開始了第一步,以后編程的日子里還會隨時這樣玩……
以上例子說明了路由可以分發(fā)請求,這就好比家里的路由器可以分發(fā)多路請求,滿足手機(jī)、電視……可以有線連接,也可以wifi
路由中還可以引入 html 頁面,可以在 route/web.php 中搞定一切。
但是如果把業(yè)務(wù)邏輯都寫入到路由中,那路由就變成了原生開發(fā)“搭積木”,web.php頁面代碼龐大難以維護(hù)。
接下來控制器就登臺表演了……
把業(yè)務(wù)邏輯寫在控制器中,路由只負(fù)責(zé)轉(zhuǎn)發(fā)請求到指定的控制器即可。
先前,我們已經(jīng)在PhpStorm中安裝了昵稱為artisan 的 laravel 命令行接口,也就是根目錄下的 artisan 文件,用法是輸入命令:
Php artisan
意思就是使用 php 的命令行模式運(yùn)行 artisan.php 文件,php命令行下是可以不需要文件后綴就能識別的,所以根目錄下的 artisan 文件并沒有帶上 .php
Laravel構(gòu)架之所以被贊譽(yù)為“為Web藝術(shù)家而生”,其優(yōu)雅、藝術(shù)、現(xiàn)代主要就是表現(xiàn)在“用少量的代碼來干很多漂亮活……”
php artisan.php 命令行主要有兩個作用:
第一是生成文件,
第二是執(zhí)行任務(wù)。
現(xiàn)在用它生成控制器(C)文件:
〖法一〗如果不帶任何參數(shù)用它來生成普通控制器模板的話,輸入命令:
Php artisan make:controller ArticleController
見證奇跡的時候又要到來了……
結(jié)果是生成了一個 app/Http/Controllers/ArticleController.php 文件;
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ArticleController extends Controller
{
//
}
不但自動創(chuàng)建了文件,而且還定義好了命名空間,繼承好了父級控制器,在這個模板上直接寫管理MySQL的增、刪、改、查的方法就可以了;
〖法二〗不想一來就自定義語句或方法,想用artisan先生成通用方法代碼,再根據(jù)需要少量修改代碼,也就是說用有點(diǎn)高逼格的方式來干寫代碼苦力活,那么只需加個–resource選項參數(shù):
Php artisan make:controller ArticleController--resource
不但增、刪、改、查的方法都定義好了,連注釋都給寫好了。這其實是按 RESTful 規(guī)范生成的格式,除了 GET POST 它還包含了一大堆請求方式:
PUT 、 PATCH 、 DELETE 、HEAD 、OPTIONS
也就是說 Route:: 后面還可以跟上面這些方法。
視圖如何用?除了在路由中直接調(diào)用外,就是可以在程序中用函數(shù)來調(diào)用:例如調(diào)用視圖admin/index.blade.php就在程序中用這個方法
public function index() {
return view(‘a(chǎn)dmin/index’);
}
就行了,視圖使用容易理解。那么,控制器如何用?當(dāng)然是放在路由中直接替代閉包函數(shù)來使用。因為路由(R)除了請求調(diào)用視圖(V)外,更多的是請求來干太多的事,比方說處理數(shù)據(jù)模型(M)等等,如果把干這些活的代碼都放這個閉包函數(shù)中是臃腫且難以維護(hù)的,所以才引入控制器這個中間件。很顯然,控制器就是來替代路由中這第二個參數(shù)的閉包函數(shù)的。路由(R)-控制器(C)-視圖(V)就這樣輕松關(guān)聯(lián)起來了,三者玩起來思路也很清晰,不難理解。
路由(R)-控制器(C)用起來也非常簡單,直接寫控制器名在路由(R)閉包函數(shù)的這個位置即可,然后用 @ 符號分割控制器和控制器的方法(可以是形參或閉包函數(shù)),例如:
Route::get(‘a(chǎn)rticle/index’, ‘ArticleController@index’)
Route::post(‘a(chǎn)rticle/store’, ‘ArticleController@store’)
當(dāng)控制器(C)用處理數(shù)據(jù)模型時,就變成了:路由(R)-控制器(C)-數(shù)據(jù)模型(M)-視圖(V)也關(guān)聯(lián)起來了,四者不是同時一起用,就可能有多種排列組合,處理多種事務(wù),響應(yīng)多種請求
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。