-
@foreach ($pages as $page)
-
{{ $page->body }}
@endforeach
摘要:原文發表在我的個人網站系列入門教程三最適合中國人的教程本教程示例代碼見大家在任何地方卡住,最快捷的解決方式就是去看我的示例代碼。教程三代碼快照下一步系列入門教程四最適合中國人的教程完結
原文發表在我的個人網站:Laravel 5 系列入門教程(三)【最適合中國人的 Laravel 教程】
本教程示例代碼見:https://github.com/johnlui/Learn-Laravel-5大家在任何地方卡住,最快捷的解決方式就是去看我的示例代碼。
本篇教程中,我們將利用 Laravel 5 自帶的開箱即用的 Auth 系統對我們的后臺進行權限驗證,并構建出前臺頁面,對 Pages 進行展示。
1. 權限驗證后臺地址為 http://fuck.io:88/admin ,我們的所有后臺操作都將在此頁面或其子頁面下進行。利用 Laravel 5 提供的 Auth,我們只需要改動很少部分的路由代碼便可以實現權限驗證功能。
首先,將路由組的代碼改為:
phpRoute::group(["prefix" => "admin", "namespace" => "Admin", "middleware" => "auth"], function() { Route::get("/", "AdminHomeComtroller@index"); Route::resource("pages", "PagesController"); });
上面代碼中只有一處變化:給 Route::group() 的第一個參數(一個數組)增加了一項 "middleware" => "auth"?,F在訪問 http://fuck.io:88/admin ,應該會跳轉到登陸頁面。如果沒有跳轉,也不要驚慌,從右上角退出,重新進入即可。
我們的個人博客系統并不想讓人隨便注冊,下面我們將改動部分路由代碼,只保留基本的登錄、注銷功能。
刪掉:
phpRoute::controllers([ "auth" => "AuthAuthController", "password" => "AuthPasswordController", ]);
增加:
phpRoute::get("auth/login", "AuthAuthController@getLogin"); Route::post("auth/login", "AuthAuthController@postLogin"); Route::get("auth/logout", "AuthAuthController@getLogout");
帶有權限驗證的最小化功能的后臺已經完成,這個后臺目前只管理 Page(頁面)這一種資源。接下來我們將構建前臺頁面,把 Pages 展示出來。
2. 構建首頁先整理路由代碼,將路由的最上面的兩行:
phpRoute::get("/", "WelcomeController@index"); Route::get("home", "HomeController@index");
改成:
phpRoute::get("/", "HomeController@index");
我們將直接使用 HomeController 來支撐我們的前臺頁面展示。
此時可以刪除 learnlaravel5/app/Http/Controllers/WelcomeController.php 控制器文件和 learnlaravel5/resources/views/welcome.blade.php 視圖文件。
修改 learnlaravel5/app/Http/Controllers/HomeController.php 為:
phpwithPages(Page::all()); } }
控制器構造完成。
view("home")->withPages(Page::all()) 這句話實現以下功能:
渲染 learnlaravel5/resources/views/home.blade.php 視圖文件
把變量 $pages 傳進視圖,$pages = Page::all()
Page::all() 調用的是 Eloquent 中的 all() 方法,返回 pages 表中的所有數據。
接下來我們開始寫視圖文件:
首先,我們將創建一個前端頁面的統一的外殼,即 部分及 #footer 部分。新建 learnlaravel5/resources/views/_layouts/default.blade.php 文件(文件夾請自行創建):
phpLearn Laravel 5 @yield("content")
修改 learnlaravel5/resources/views/home.blade.php 文件為:
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 的 視圖渲染系統會首先載入父視圖,再將此視圖中的 @section("content") 里面的內容放入到父視圖中的 @yield("content") 處進行渲染。
訪問 http://fuck.io:88/ ,可以得到如下頁面:
2. 構建 Page 展示頁首先增加路由。在路由文件的第一行下面增加一行:
phpRoute::get("pages/{id}", "PagesController@show");
新建控制器 learnlaravel5/app/Http/Controllers/PagesController.php,負責單個 page 的展示:
phpwithPage(Page::find($id)); } }
新建視圖 learnlaravel5/resources/views/pages/show.blade.php 文件:
php@extends("_layouts.default") @section("content")??返回首頁
{{ $page->title }}
{{ $page->updated_at }}@endsection{{ $page->body }}
全部完成,檢驗成果:點擊首頁之中任意一篇文章的標題,進入文章展示頁,你會看到以下頁面:
至此,前臺展示頁面全部完成,教程三結束。
教程(三)代碼快照:https://github.com/johnlui/Learn-Laravel-5/archive/tutorial_3.zip
下一步:Laravel 5 系列入門教程(四)【最適合中國人的 Laravel 教程】【完結】
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30209.html
摘要:完結教程一教程二教程三原文是富文本編輯器寫的,向不好轉換,大家點過去看吧。。。 【完結】 教程(一):http://lvwenhan.com/laravel/398.html 教程(二): http://lvwenhan.com/laravel/399.html 教程(三): http://lvwenhan.com/laravel/400.html 原文是富文本編輯器寫的...
摘要:原文發表在我的個人網站系列入門教程四最適合中國人的教程本教程示例代碼見大家在任何地方卡住,最快捷的解決方式就是去看我的示例代碼。 原文發表在我的個人網站:Laravel 5 系列入門教程(四)【最適合中國人的 Laravel 教程】 本教程示例代碼見:https://github.com/johnlui/Learn-Laravel-5 大家在任何地方卡住,最快捷...
摘要:原文發表在我的個人網站系列入門教程二最適合中國人的教程本教程示例代碼見大家在任何地方卡住,最快捷的解決方式就是去看我的示例代碼。 原文發表在我的個人網站:Laravel 5 系列入門教程(二)【最適合中國人的 Laravel 教程】 本教程示例代碼見:https://github.com/johnlui/Learn-Laravel-5 大家在任何地方卡住,最快捷...
摘要:原文發表在我的個人網站系列入門教程一最適合中國人的教程本教程示例代碼見大家在任何地方卡住,最快捷的解決方式就是去看我的示例代碼。在此我推薦一個全量中國鏡像。 原文發表在我的個人網站:Laravel 5 系列入門教程(一)【最適合中國人的 Laravel 教程】 本教程示例代碼見:https://github.com/johnlui/Learn-Laravel-5 大...
閱讀 3196·2021-11-18 10:02
閱讀 1446·2021-10-12 10:08
閱讀 1239·2021-10-11 10:58
閱讀 1269·2021-10-11 10:57
閱讀 1167·2021-10-08 10:04
閱讀 2121·2021-09-29 09:35
閱讀 773·2021-09-22 15:44
閱讀 1269·2021-09-03 10:30