因为下周不在国内;
为了避免让童鞋们再等太久的更新;
于是这个周末2天全用来构思写文章了;
一鼓作气;
今个把视图V也讲了;
先来创建一个 ViewController ;
创建路由;
laravel 的视图都是放在 resources/views 目录下面;
使用的是 blade 模板引擎;
文件都是以 .blade.php 为后缀;
接着我们来创建一个视图文件;
resources/views/article/index.blade.php ;
引入视图我们在讲路由的时候已经讲过了;
简单的调用 view()
函数就可以了;
引入 resources/views/article.blade.php 文件是
引入 resources/views/article/index.blade.php 文件则是;
多级目录间用 .
分割;
如果我们需要往视图中分配数据;
则可以作为 view 函数的第二个参数;
我们获取文章列表并分配个视图;
插个题外话;
这里还可以用 php 的 compact
函数简化下 $assign ;
下面这两种写法效果是一样的;
接着在 resources/views/article/index.blade.php 视图文件中就可以用分配的数据了;
在视图中如果想显示某个变量的数据;
需要包裹在两个大括号之间 {{ }}
;
比如说上面用来{{ $title }}
;
流程控制类的则是加个 @
符号;
比如说上面的 foreach 和 if ;
模型有个 trashed 方法是用来判断是否被软删除的;
访问 /view/index 查看;
文章列表功能完成了;
咱再写个新增文章页面的方法 create;
增加 routes/web.php 路由;
相应的创建 resources/views/article/create.blade.php 视图文件;
这里面需要说明的是;
laravel 所有的 form 表单内都要有一个 {{ csrf_field() }}
;
它会生成一个 input 隐藏域 ;
是用来防 csrf 攻击的;
访问 /view/create 查看;
当点击了提交按钮后就把数据提交到了 store ;
这里面要说明的是 redirect ;
这个函数是用来重定向到指定链接的;
增加 routes/web.php 路由;
接着编辑数据页面 edit ;
增加 routes/web.php 路由;
相应的创建 resources/views/article/edit.blade.php 视图文件;
对比 index 、 create 、 edit 三个视图文件;
我们会发现只有 <body>
标签内的内容不一样;
其他都是一样的;
网站大多都是有一些公共的区域;
比如说头部和底部;
如果每个页面都写的话;
那后期维护改起来想想都崩溃;
还好有模板继承来解决这种场景;
我们创建个resources/views/ layouts 目录专门用于放父级模板;
接着创建一个 resources/views/ layouts/home.blade.php 文件;
@yield 是父级模板用来定义指令名称;
比如说这里定义了 title 和 content ;
然后子级视图中就可以使用了;
我们重构下 resources/views/article/create.blade.php 视图文件;
在子级视图中使用的是 @section
指令;
如果是块级内容;
则和 html 的块级标签一样有开始和闭合标签 @section
和 @endsection
;
如果是行级内容则直接把内容直接传给 @section
的第二个参数;
这样看起来就简单合理多了;
index 和 edit 视图页面同理;
剩下的 编辑、删除、恢复、彻底删除就没有新的知识了;
增加 routes/web.php 路由;
写了十几篇文章;
终于是把基础的 MVC 以及增删改查等都串讲了一遍;
完整看完教程应该可以简单的写东西了;
再配合官方文档服用效果更佳;
我把写文章时候的示例代码整理到了 github 上面;
https://github.com/baijunyao/laravel-course ;
不过建议自己独立的根据文章敲一遍;
示例代码仅作为参考;
初级教程至此算是一个简单的结束;
如果觉得对你学习 laravel 有一定的帮助;
欢迎打赏赞助加群给点动力哈;
我已经在构思 中级 、高级课程;
容我稍作调整;
咱们未来见;
着急学习的童鞋可以购买 laravel-china 推出的付费教程;
使用我下面这个链接我可以获取 12% 的奖励;
也算对我的一种支持哈;
在我群里的童鞋购买后通知我下;
我把提成给你发红包;
福利专区
——一———年———以———后———的———分————割————线———
现在已经开始写 最适合入门的Laravel中级教程
本文为白俊遥原创文章,转载无需和我联系,但请注明来自白俊遥博客https://baijunyao.com 欢迎捐赠赞赏加入组织创建QQ群及捐赠渠道
国良 :弱弱的问下,Homestead好用不,有没有必要花费时间去搭建,看着挺复杂,挺难的
2018-09-07 17:13:12 回复
云淡风晴 :你可以试着配下;如果测通了;那可以用;搞不懂的话;就不要在上面浪费太多时间了;
2018-10-20 22:09:08 回复
国良 :期待中高级教程
2018-09-07 17:10:18 回复
大海 :
2018-05-29 11:50:32 回复
小龙虾 :
2018-04-26 11:39:53 回复
itwoa :期待中高级教程,膜拜膜拜!
2018-04-26 11:21:23 回复
天青色等烟雨 :顶白大师!
2018-04-12 23:31:14 回复
快乐远〖航〗 :视图继承create.blade.php里面@section('title',$title); 多打了一个 ; 符号。
2018-04-09 19:58:03 回复
云淡风晴 :多谢反馈;已删除;
2018-04-22 21:40:53 回复
你 :alter("关注很久了!膜拜")
2018-03-27 07:37:20 回复
Mia :旅途愉快!
2018-03-14 21:45:35 回复
涵涵宝贝 :2553ab9ea41471d6db03d4415f84fa60祝旅途愉快
2018-03-09 11:26:41 回复
A-Ꮩ࿆Ꭵ࿆Ꮲ࿆小俊网络 :后台是看不到我的评论的哈哈哈哈
2018-03-09 11:23:41 回复
... :斤斤计较
2018-03-18 20:12:22 回复
你 :啊啊
2018-03-27 22:02:26 回复
木 点点 i :加油!
2018-03-07 20:37:25 回复
... :白哥,我给你发邮箱申请友链了,一直没回复,你看我的博客了吗猿站chuangyang.xin白哥有空了看一下呗。
2018-03-06 19:00:54 回复
... :,,
2018-03-12 11:18:53 回复
null : 多拍点国外照片回来秀 哈哈
2018-03-06 16:22:37 回复
手贱+嘴贱 : 祝旅途愉快
2018-03-05 15:06:35 回复
cantinzing :看来下一次教程要等好久了
2018-03-05 09:26:06 回复
阿壮 :大师傅
2018-05-10 17:22:10 回复
最新评论