麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

Laravel 4 的Pages和表單驗證

2020-03-22 20:18:15
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了關于Laravel 4 的Pages和表單驗證,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

本篇教程是本系列的完結篇,要做的是Pages的詳細管理功能,表單驗證以及命名空間的深度使用,和一個更好用的通知組件,并且布置一個簡單的大作業。

1. 構建Pages管理功能

運行命令:

php artisan generate:controller admin/PagesController

修改PagesController.php 內容:

 ?phpnamespace App/Controllers/Admin;use Page;use Input, Notification, Redirect, Sentry, Str;use App/Services/Validators/PageValidator;html' target='_blank'>class PagesController extends /BaseController { public function index() return /View::make( admin.pages.index )- with( pages , Page::all()); public function show($id) return /View::make( admin.pages.show )- with( page , Page::find($id))- withAuthor(Sentry::findUserById(Page::find($id)- user_id)- name); public function create() return /View::make( admin.pages.create  public function store() $validation = new PageValidator; if ($validation- passes()) $page = new Page; $page- title = Input::get( title  $page- body = Input::get( body  $page- user_id = Sentry::getUser()-  $page- save(); Notification::success( 新增頁面成功!  return Redirect::route( admin.pages.edit , $page-  return Redirect::back()- withInput()- withErrors($validation- errors); public function edit($id) return /View::make( admin.pages.edit )- with( page , Page::find($id)); public function update($id) $validation = new PageValidator; if ($validation- passes()) $page = Page::find($id); $page- title = Input::get( title  $page- body = Input::get( body  $page- user_id = Sentry::getUser()-  $page- save(); Notification::success( 更新頁面成功!  return Redirect::route( admin.pages.edit , $page-  return Redirect::back()- withInput()- withErrors($validation- errors); public function destroy($id) $page = Page::find($id); $page- delete(); Notification::success( 刪除成功!  return Redirect::route( admin.pages.index }

然后,打開http://localhost:8000/admin 頁面,用之前 seed 進去的賬號密碼登錄,我們會得到一個錯誤:

Class App/Controllers/Admin/PagesController does not exist

這個文件明明已經有了啊,為什么Laravel報錯說沒有呢?!原因在第二篇教程里,我在這里直接說了吧。因為這個類不在頂級命名空間下,而我們沒有告訴Laravel我們已經新添了一個子命名空間下的類。我們現在來告訴它:

composer dump-autoload

OK,刷新,我們又會得到以下錯誤:

View [admin.pages.index] not found.

這時候,把我的視圖中的整個pages文件夾復制過去吧。

刷新。你會得到以下錯誤:

Class Notification not found

這是因為我們還沒有裝這個composer包,edvinaskrucas/notification,請自行安裝3.0.1 版(4是為 Laravel 5 準備的),這是第三個小作業。一定要放在 require 里面,require-dev 里面的包只在開發的時候使用。

這里的Notification 就是那個更好用的通知組件。

這個包裝好以后,運行:

composer dump-autoload

然后在 config/app.php 里面恰當的位置分別增加下面兩行:

 Krucas/Notification/NotificationServiceProvider 
 Notification = Krucas/Notification/Facades/Notification 

恰當的位置很多人不理解,導致很多人出現了錯誤,解決方式也很簡單

刷新,如果你看到以下界面:


恭喜你~ Pages的管理頁面完成了!

2. 表單驗證

Laravel提供了原生的非常好用的表單驗證功能,但是有時候驗證規則需要復用,所以我們將利用強大的命名空間來實現代碼復用,同時將展示Laravel之外的,PHP的命名空間帶來的強大的組件化功能和模塊解耦,HMVC什么的已經落后啦。

新建app/services/validators 兩級文件夾,并在composer.json的 autoload classmap 最后新增:

 app/services 

這是在告訴composer:來把我下面的所有文件和子文件夾中的所有文件合并到你的命名空間樹上吧! 這樣就讓 app/services 下的類可以聲明自己的命名空間了,子文件夾中的文件也可以聲明的自己屬于子命名空間了。這個文件夾將承載我們的表單驗證類群,當然也可以承載許多其他組件和模塊,實現完全解耦。

添加完成后,新建app/services/validators/Validator.php 文件:

 ?phpnamespace App/Services/Validators;abstract class Validator { protected $data; public $errors; public static $rules; public function __construct($data = null) $this- data = $data ?: /Input::all(); public function passes() $validation = /Validator::make($this- data, static::$rules); if ($validation- passes()) return true; $this- errors = $validation- messages(); return false;}

新建app/services/validators/PageValidator.php 文件:

 ?phpnamespace App/Services/Validators;class PageValidator extends Validator { public static $rules = array( title = required , body = required ,}

然后運行:

composer dump-autoload

這時候,就可以嘗試整個頁面上的所有操作啦!新建,編輯,查看,刪除,至此,pages管理部分全部完成!

大作業:目前Pages管理部分已經全部完成,但是Articles管理部分還是啥都沒有,嘗試模仿Pages的代碼,完成一個跟Pages一樣的管理系統。小提示:包含 控制器、視圖和表單驗證哦。等你完成了Articles管理部分,Laravel就真正入門啦!

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !

相關推薦:

使用Laravel生成Gravatar頭像地址

如何解決Laravel的throttle中間件失效的問題

PHP中mb_detect_encoding函數的使用方法

以上就是Laravel 4 的Pages和表單驗證的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久草久视频 | 视频一区二区三区中文字幕 | 久久99精品久久久久久秒播放器 | 久久av免费观看 | 国产91小视频在线观看 | 看一级大毛片 | 最新毛片在线观看 | 久久久国产一区二区三区 | 国产精品视频久久久 | 成人毛片免费看 | 久久在线精品视频 | 羞羞视频免费入口网站 | 激情影院在线观看 | 一级电影免费 | 日韩中文一区 | 久久久精品视频在线观看 | 免费一级肉体全黄毛片 | aa级黄色片 | 欧美另类69xxxxx 视频 | 18一20岁一级毛片 | 美女黄色影院 | 国产福利视频在线观看 | 成人男女啪啪免费观看网站四虎 | 日日草日日干 | 久久国产午夜 | free国产hd老熟bbw| 久久日韩在线 | 成年人免费高清视频 | 操碰在线视频 | 亚洲午夜在线视频 | av在线免费播放 | 高清成人在线 | 在线观看免费精品 | 亚洲成人免费网站 | cosplay裸体福利写真 | 久久久www成人免费精品 | 午夜精品老牛av一区二区三区 | 国产免费网站视频 | 国产精品久久久久久久不卡 | xxxxhdvideosex| 国产91在线播放九色 |