时间:2021-05-26
本文实例讲述了Laravel5.1 框架控制器基础用法。分享给大家供大家参考,具体如下:
像我们之前写一些逻辑呢都是在Route(路由)中,搞得Route文件特别庞大,其实我们应该把这些逻辑都抽到一个控制器里,路由分发后到控制器,控制器做相应的操作,比如关于后台的逻辑应该抽到AdminController中,Route文件只管分发。
至于什么是RESTful?自行百度- -,我先简单说下,它里面自动填充了一些增删改查的方法。OK 我们在Artisan控制台创建:
php artisan make:controller Admin\\HomeController然后 我们在 app/Http/Controller/Admin/ 下找到它:
class HomeController extends Controller{ /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // }}每个方法就是它的字面意思,至于怎么使用,我们来注册一条路由就清楚了。
resource是为RESTful风格的控制器注册多条路由的 我们可以在Artisan控制台看看:
php artisan route:list如果没有什么错误的话,咱肯定会看见打印出来的表,表里面标明了每条路由的属性,如果你还是不太明白,那无所谓~咱以后的文章会频繁使用到这些内容哦。
在实际开发中啊 有时候咱不一定需要RESTful风格的服务器,我们只想要一个空的控制器来自己实现一些方法,可以这么生成:
php artisan make:controller UserController --plain只要后面跟个plain标识符 就可以生成空的控制器啦。
上面是使用resource方法来对应控制器的动作了,像这种空的控制器咱怎么在路由中使用呢?
/** * 控制器名@方法名 就可以了 */Route::get('/user', 'UserController@index');/** * 这是在配置一些其他东西时的写法,因为要在数组中嘛,它对应的KEY是uses。 */Route::get('/user', ['as' => 'showUser', 'uses' => 'UserController@index']);然后自行实现UserController的index方法就可以咯:
class UserController extends Controller{ public function index() { return '展示一些东西'; }}这种路由我不太常用 先来看看语法吧:
Route::controller('/user', 'UserController');首先 使用了controller来注册路由,第一个参数是路径没新鲜的,第二个参数是控制器 但是它没有跟着方法。因为它能自动根据路径相应到方法 看看下面控制器方法的实现。
class UserController extends Controller{ /** * 对应着 /user/ 路由 GET方式 */ public function getIndex() { return '展示一些东西~'; } /** * 对应着 /user/show/{id} 路由 GET方式 */ public function getShow($id) { return '此用户ID为: '.$id; } /** * 对应着 /user/update/{id} 路由 POST方式 */ public function postUpdate($id, Requests\Request $request){ }}这个控制器的方法开头都是HTTP请求的方式 最常用的就是GET 和 POST 后面跟的是方法名字,具体对应的路径在注释中写清楚了。
如果你想给这些路由命名的话,后面可以跟一个数组来命名:
Route::controller('/user', 'UserController',['getShow' => 'user.show']);这样就可以给对应的方法命名了,oh funk 大K真的不喜欢这种方式,也许是没明白这样写的真谛把。
--今天关于控制器就先写这么多吧,具体逻辑实现咱还得学一些新的知识来结合使用,比如middleware啊和request还有blade模板引擎,但都不是很难~
更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Laravel5.1框架自带权限控制系统ACL用法。分享给大家供大家参考,具体如下:Laravel在5.1.11版本中加入了Authorizati
本文实例讲述了Laravel5.1框架注册中间件的三种场景。分享给大家供大家参考,具体如下:在Laravel中注册中间件主要有三种场景,一种给控制器中的方法进行
本文实例讲述了Laravel框架控制器的request与response用法。分享给大家供大家参考,具体如下:Laravel控制器的requestpublicf
本文实例讲述了Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法。分享给大家供大家参考,具体如下:前言:laravel创建数据库,实际
本文实例讲述了Laravel5.1框架模型工厂ModelFactory用法。分享给大家供大家参考,具体如下:今天要说的是模型工厂,它是可以快速生成一些测试数据的