手机版

Laravel 5框架介绍(2)构建页面管理功能

时间:2021-09-09 来源:互联网 编辑:宝哥软件园 浏览:

我们将改变学习路线,而不是像Laravel 4教程那样先构建登录系统。在本教程中,我们将一起构建Pages的管理功能,并尝试Laravel的路由和PHP的命名空间。

1.Laravel中的路由和其他PHP框架一样,用于将各种请求分发到各种控制器。

在“learn lave l5/app/http/routes . PHP”的末尾添加以下代码:

复制代码如下:route33603360group (['前缀'=' admin ',' namespace'=' admin'],function(){ route :3360 get('/','[email protected]');});

这意味着已经创建了一个路由组。

1.` ` prefix'='admin ' '表示这个路由组的url前缀是/admin,也就是说代码` route:3360get ('/')中间一行对应的链接不是http://操. io336088/而是http://操. io:88/admin。如果代码是Route:get('他妈的''),则URL应该是http://他妈的. io:88/admin/他妈的。

2.`“namespace”=“Admin”表示以下`[emailprotected]'的前缀是命名空间,而不是`\ app \ http \ controllers \[email protected]`。

如果你用过Laravel 4,你会发现Laravel 5的命名空间规划比较奇怪,其实是一个很大的进步。事实上,Laravel 4已经完全引入了命名空间的强大功能。但为了“降低学习成本”,路由、控制器、模型的默认命名空间都设置为顶级命名空间。这一举动让很多人更容易“上手”Laravel。但是用了一段时间后,还是需要翻越一堵高墙,那就是命名空间,以之前“上手容易”的印象作为铺垫,后来Laravel 5把所有的命名空间都分开了,控制器在` \App\Http\Controllers,模型在` \App ',这样刚上手就能体验到命名空间分开的感觉,实际上会降低学习成本。

2.控制器

我们可以使用Artisan非常容易地构建控制器:

复制的代码如下: PHP artisan make :控制器admin/adminhomecontroller

获取文件` learn lave l5/app/http/controllers/admin/adminhomecontroller . PHP '。

在“class adminhomecontroller扩展控制器{”上方添加一行:

复制代码如下:使用App \ Page

将索引()的代码修改如下:

复制代码如下: public function index(){ return view(' admin home ')-带页面(page :3360 all());}

控制人中文文件:http://laravel-china.org/docs/5.0/controllers

控制器中涉及了大量的名字空间知识,可以参考PHP名字空间来解决。

3.视图

创建一个新的` learn lave 5/resources/view/adminhome . blade . PHP `:

@ extends(' app ')@ section(' content ')Div class=' container ' Div class=' row ' Div class=' col-MD-10 col-MD-offset-1 ' Div class=' panel panel-default ' Div class=' panel-heading '背景主页/Div class=' panel-body ' a href=' { { URL(' admin/pages/create ')} ' class=' btnbtn-lgbtn-primary ' add/a @ foreach($ pages as $ page)HR Div class=' page ' H4 '$page-id。/edit)} } Class=' BTN BTN-success ' edit/a formation=' { { URL(' admin/pages/')。$ page-id)}}”方法=“post”style=“display : inline;input name=' _ method ' type=' hidden ' value=' DELETE ' input type=' hidden ' name=' _ token ' value=' { { csrf _ token()} } button type=' submit ' class=' btnbtn-dancer ' DELETE/button/form @ endforeach/div/div/div @ end section视图的基本用法在此不再重复。请参考阅读中国文件:http://laravel-china.org/docs/5.0/views

请访问http://hook . io336088/admin获取以下页面:

至此,包括路由控制器模型视图在内的整个过程已经完成。

4.完成页面管理功能

接下来,我将记录下我实现页管理功能的过程,不再做过多的阐述。大家有问题可以直接在本文下面留言,我会及时回复。

4.1 修改路由了解ravel 5/app/Http/routes。服务器端编程语言(Professional Hypertext Preprocessor的缩写)

复制代码代码如下:路由:3360组(['前缀'=' Admin ','命名空间'='Admin'],函数(){路由3360: get('/','[email protected]');Route:resource('pages ',' pages controller ');});

此处增加了一条"资源控制器",中文文档地址:http://laravel-中国。组织/文档/5.0/控制器# restful-资源-控制器

4.2 创建学习ravel 5/app/Http/controller/Admin/page controller。服务器端编程语言(Professional Hypertext Preprocessor的缩写)

运行:

复制代码代码如下: PHP工匠制作:控制器管理/页面控制器

4.3 修改学习ravel 5/app/Http/controller/Admin/page controller。服务器端编程语言(Professional Hypertext Preprocessor的缩写)为:

?服务器端编程语言(Professional Hypertext Preprocessor的缩写)命名空间应用\ Http \控制器\管理使用应用\ Http \请求使用app \ Http \ Controller \ Controller;使用照明\ Http \请求使用应用\页面;使用重定向、输入、验证;类页面控制器扩展控制器{ /** *显示创建新资源的表单* * @返回响应*/public函数create(){ return view(' admin。页面。create’);} /** *在存储器中存储新创建的资源* * @ return Response */public function store(Request $ Request){ $ this-validate($ Request,[' title '='必选|唯一:页|最大:255 ',' body'='必选',]);$page=新页面;$ page-title=input : get(' title ');$ page-body=input :3360 get(' body ');$ page-user _ id=1;//auth : USer()-id;if($ page-save()){ return redirect : to(' admin ');} else { return redirect : back()-withInput()-有错误('保存失败!');} } /** *显示用于编辑指定资源的表单* * @ param int $ id * @ return Response */public function edit($ id){ return view(' admin。页面。edit ')-带页面(第:页find($ id));} /** *更新存储中的指定资源* * @ param int $ id * @ return Response */public function update(Request $ Request,$id) { $this-validate($request,[' title '='必需|唯一:页,title ' .$id .|max:255 ',' body'='required ',]);$ page=page : find($ id);$ page-title=input : get(' title ');$ page-body=input :3360 get(' body ');$ page-user _ id=1;//auth : USer()-id;if($ page-save()){ return redirect : to(' admin ');} else { return redirect : back()-withInput()-有错误('保存失败!');} } /** *从存储中删除指定的资源* * @ param int $ id * @ return Response */public function destroy($ id){ $ page=page : find($ id);$ page-delete();返回重定向:到到(“admin”);}}4.4 创建视图文件

首先在学习旅行5/资源/观点下创建管理/页面两级文件夹。

然后创建学习拉威尔5/资源/视图/管理/页面/create.blade.php:

@ extends(' app ')@ section(' content ')div class=' container ' div class=' row ' div class=' col-MD-10 col-MD-offset-1 ' div class=' panel panel-default ' div class=' panel-heading '新增page/div class=' panel-body ' @ if(count($ errors)0)div class=' alert alert-danger ' strong呜呜!/strong您的输入有一些问题brbr ul @ foreach($ errors-all()as $ error)Li { { $ error } }/Li @ endforeach/ul/div @ endif form action=' { { URL(' admin/pages ')} '方法=' POST '输入类型=“隐藏”名称=“_ token”值=“{ { csrf _ token()}”输入类型=' text ' name=' title ' class=' form-control ' required=' required ' br text area name=' body ' rows='新增页面/按钮/表单/div/div/div/div/之后创建学习拉威尔5/资源/视图/管理/页面/edit.blade.php:

@ extends(' app ')@ section(' content ')div class=' container ' div class=' row ' div class=' col-MD-10 col-MD-offset-1 ' div class=' panel panel-default ' div class=' panel-heading '编辑page/div class=' panel-body ' @ if(count($ errors)0)div class=' alert alert-danger ' strong呜呜!/strong您的输入出现了一些问题,brbr ul @ foreach($ errors-all()as $ error)Li { { $ error } }/Li @ endforeach/ul/div @ endif表单操作=' { { URL(' admin/pages/')' .$page-id) }} '方法='POST '输入名称='_method '类型='隐藏'值='PUT '输入类型='隐藏'名称='_token '值='{{ csrf_token() } '输入类型=“文本”名称='标题'类=“表单控件”必需='必需'值=' { $ page-title } } ' br文本区域名称='body '行='10 '类=“表单控件”必需='必需{ $page-body }}/textarea编辑页面/按钮/表单/div/div/div/div @ end第4.5节查看结果

后台首页http://钩。io336088/管理员:

新增页面http://钩。io:88/管理/页面/创建:

编辑第http://页操。io:88/管理员/页数/1/编辑:

页面上的新增、编辑、删除的功能均已经完成,并且加入了表单验证,页数管理功能完成!

以上所述就是本文的全部内容了,希望对大家熟悉Laravel5框架能够有所帮助。

版权声明:Laravel 5框架介绍(2)构建页面管理功能是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。