本篇內(nèi)容介紹了“Laravel 5框架入門學(xué)習(xí)教程”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信平臺小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了沾益免費建站歡迎大家使用!1. 權(quán)限驗證
后臺地址為 http://localhost:88/admin ,我們的所有后臺操作都將在此頁面或其子頁面下進行。利用 Laravel 5 提供的 Auth,我們只需要改動很少部分的路由代碼便可以實現(xiàn)權(quán)限驗證功能。
首先,將路由組的代碼改為:
復(fù)制代碼 代碼如下:
Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'middleware' => 'auth'], function()
{
Route::get('/', 'AdminHomeComtroller@index');
Route::resource('pages', 'PagesController');
});
上面代碼中只有一處變化:給 `Route::group()` 的第一個參數(shù)(一個數(shù)組)增加了一項 `'middleware' => 'auth'`?,F(xiàn)在訪問 http://localhost:88/admin ,應(yīng)該會跳轉(zhuǎn)到登陸頁面。如果沒有跳轉(zhuǎn),也不要驚慌,從右上角退出,重新進入即可。
我們的個人博客系統(tǒng)并不想讓人隨便注冊,下面我們將改動部分路由代碼,只保留基本的登錄、注銷功能。
刪掉:
復(fù)制代碼 代碼如下:
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);
增加:
復(fù)制代碼 代碼如下:
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
帶有權(quán)限驗證的最小化功能的后臺已經(jīng)完成,這個后臺目前只管理 Page(頁面)這一種資源。接下來我們將構(gòu)建前臺頁面,把 Pages 展示出來。
2. 構(gòu)建首頁
先整理路由代碼,將路由的最上面的兩行:
復(fù)制代碼 代碼如下:
Route::get('/', 'WelcomeController@index');
Route::get('home', 'HomeController@index');
改成:
復(fù)制代碼 代碼如下:
Route::get('/', 'HomeController@index');
我們將直接使用 HomeController 來支撐我們的前臺頁面展示。
此時可以刪除 learnlaravel5/app/Http/Controllers/WelcomeController.php 控制器文件和 learnlaravel5/resources/views/welcome.blade.php 視圖文件。
修改 learnlaravel5/app/Http/Controllers/HomeController.php 為:
withPages(Page::all()); } }
控制器構(gòu)造完成。
`view('home')->withPages(Page::all())` 這句話實現(xiàn)以下功能:
渲染 learnlaravel5/resources/views/home.blade.php 視圖文件
把變量 $pages 傳進視圖,$pages = Page::all()
Page::all() 調(diào)用的是 Eloquent 中的 all() 方法,返回 pages 表中的所有數(shù)據(jù)。
接下來我們開始寫視圖文件:
首先,我們將創(chuàng)建一個前端頁面的統(tǒng)一的外殼,即 `
` 部分及 `#footer` 部分。新建 learnlaravel5/resources/views/_layouts/default.blade.php 文件(文件夾請自行創(chuàng)建):Learn Laravel 5 @yield('content')©2015 JohnLui
修改 learnlaravel5/resources/views/home.blade.php 文件為:
@extends('_layouts.default') @section('content')Learn Laravel 5
{{ Inspiring::quote() }}
@endsection@foreach ($pages as $page)
- @endforeach
{{ $page->body }}
第一行 `@extends('_layouts.default')` 代表這個頁面是 learnlaravel5/resources/views/_layouts/default.blade.php 的子視圖。此時 Laravel 的 視圖渲染系統(tǒng)會首先載入父視圖,再將此視圖中的 @section('content') 里面的內(nèi)容放入到父視圖中的 @yield('content') 處進行渲染。
訪問 http://localhost:88/ ,可以得到如下頁面:
2. 構(gòu)建 Page 展示頁
首先增加路由。在路由文件的第一行下面增加一行:
復(fù)制代碼 代碼如下:
Route::get('pages/{id}', 'PagesController@show');
新建控制器 learnlaravel5/app/Http/Controllers/PagesController.php,負責(zé)單個 page 的展示:
withPage(Page::find($id)); } }
新建視圖 learnlaravel5/resources/views/pages/show.blade.php 文件:
@extends('_layouts.default') @section('content')??返回首頁
{{ $page->title }}
{{ $page->updated_at }}@endsection{{ $page->body }}
全部完成,檢驗成果:點擊首頁之中任意一篇文章的標(biāo)題,進入文章展示頁,你會看到以下頁面:
“Laravel 5框架入門學(xué)習(xí)教程”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!