首頁>技術>

引言

使用laravel實現一個最簡單的動態頁面,牽涉到laravel的路由註冊方式, 控制器書寫方式,以及blade靜態模板的使用。雖然功能很小,卻是一個精簡版的hello world。

下面開始我們的程式設計之旅。

建立laravel應用

首先我們通過命令列安裝laravel應用。為了方便建立,先全域性安裝 laravel installer, 在命令列中執行下面的指令:

composer global require laravel/installer

安裝成功後,laravel 二進位制檔案就會註冊到環境變數,在命令列中檢視安裝是否成功:

laravel -V

安裝成功,輸出類似下面這樣:

Laravel Installer 3.1.0

要執行 laravel 5.5 + 版本,需要我們安裝 PHP 7+ 版本及以上。建立一個專案目錄, 比如名字叫 ~/code,然後使用下面的命令建立laravel專案:

laravel new hackerpair

正常的建立流程,省略中間包的建立和拉取,大致如下:

註冊路由

現在建立一個靜態網頁,我們先不填充任何動態的變數資料。在 resources/views/ 目錄下, 新建一個html檔案 welcome.blade.php ,使用任意順手的編輯器,寫入以下內容:

在本檔案內,我們今聲明了一個最簡單的html結構,使用H1標籤輸出一行內容。

為了讓web可以訪問這個頁面,我們首先需要一個路由地址,也就是開放一個資源地址給使用者, 讓使用者可以訪問我們提供的資料。

在檔案 routes/web.php 檔案內追加註冊如下路由地址:

Route::get('/', function () {    return view('welcome');});

此處我們使用根目錄直接訪問,且路由的方法使用閉包函式返回。返回體呼叫系統助手函式 view 返回一個檢視檔案。 此處也就是指向了 resources/views/welcome.blade.php 檔案,這是系統的預設配置項,也就是約定項。

如果web伺服器配置成功,比如使用nignx,我們在網頁端就可以通過 localhost 直接訪問到該網頁了。

同樣地,如果是想要路由到某個 hello.blade.php 檢視檔案,那麼只需要在呼叫助手函式時,明確指定即可:

return view('hello');

如果我們的檢視檔案目錄地址在 resources/views/welcome/index.blade.php,那麼在助手函式中, 就需要這樣指定:

Route::get('/', function () {    return view('welcome.index');});

至於問為什麼這樣寫?因為這是約定。使用點操作符,按照層級索引。

在路由註冊中,如果你的網頁是純靜態的,不需要經由控制器,處理資料,組裝資料進行渲染, 那麼可以直接在路由中呼叫檢視檔案進行返回。

Route::view('/', 'welcome');
建立控制器

為了讓網頁資料更加地動態化,達到寫一次頂上一百次的高效,我們使用控制器, 獲取使用者提交的資料,根據路由地址獲取引數,然後在控制器內處理引數,組裝資料。

首先建立一個控制器,使用artisan腳手架命令:

php artisan make:controller WelcomeController

這會建立檔案 app/Http/Controllers/WelcomeController.php 檔案,原始內容是框架自帶的, 開發者可以任意發揮:

namespace App\\Http\\Controllers;use Illuminate\\Http\\Request;class WelcomeController extends Controller{}

我們首先建立一個方法,呼叫檢視函式,把靜態檔案返回:

function index(){    return view('welcome.index');}

有了此方法之後,需要我們在路由檔案中呼叫此方法,就會完成從路由到檢視渲染的銜接:

Route::get('/', 'WelcomeController@index');
寫在最後

本文通過講解如何通過路由註冊,並返回一個靜態的檢視檔案,為大家演示了laravel應用中 一般的web頁面的建立方式。特別是引入控制器之後,動態資料會如約而至,下一章我們詳細介紹。

Happy coding :-)

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • React 專案實踐——建立一個聊天機器人