.net转php laraval框架学习系列(四) 项目实战---View
laravel的参考文档中view的讲解有些简单。
在实际项目开发中view的灵活性其实是非常大。
首先来看看laravel中的布局页 和asp.net mvc中有什么不同
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!--这里相当于asp.net mvc 中的一个@section('title',false)-->
@section('title') <title>{{{$title}}}</title> <!-- using {{$title}} is bad here eg:</title><script>alert('hello')</script> --> <!--这里{{{X}}}与{{}}的区别在与前者会转码,后者不转码-->
@show
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
{{ HTML::style('vendor/bootstrap/dist/css/bootstrap.css') }}
@section('style')
@show
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body class="skin-blue">
<!-- 部分视图 -->
@include('shared.header')
<div class="container ">
{{$main}}
</div><!-- ./wrapper -->
{{ HTML::script('vendor/jquery/dist/jquery.js') }}
{{ HTML::script('vendor/bootstrap/dist/js/bootstrap.js') }}
@section('script')
@show
</body>
</html>
在看首页显示列表的post.home的代码:
<div class="row">
<div class="col-xs-12 col-sm-6 col-md-8">
{{$content}}
</div>
<div class="col-xs-6 col-md-4"> <!--这里这个部分视图是一个全局都可以引用的,该部分视图在上一章的route.php的视图合成器-->
@include('shared.sidebar')
</div>
</div>
还有post.index的代码 post.index回作为一个子视图将替换post.home中的{{$content}}
@if(!empty($notFound))
<p>Sorry nothing found for your query!</p>
@else
@foreach($posts as $post)
<article class="post">
<header class="post-header">
<h4 class="post-title">
{{link_to_route('post.show',$post->title,$post->id)}}
<div class="pull-right">
<span class="text-warning small">{{explode(' ',$post->created_at)[0]}}</span>
<span class="small">{{$post->comment_count}} comments </span>
</div>
</h4>
</header>
<div class="post-content">
<p>{{$post->read_more.' ...'}}</p>
<div >{{link_to_route('post.show','Read full article',$post->id)}}</div>
</div>
<footer class="post-footer">
<hr>
</footer>
</article>
@endforeach
{{$posts->links()}}//这里显示分页。
@endif
laravel框架视图这部分有很多其他组件,本章代码是没有引用其他组件的写法。
简单的demo是完成了,以下是完整代码。
http://pan.baidu.com/s/1ntzDsyH
接下来会研究一些laravel中常用到的组件,并应用到demo项目中。
.net转php laraval框架学习系列(四) 项目实战---View的更多相关文章
- .net转php laraval框架学习系列(二)项目实战---Models
上一篇已经介绍开发环境的搭建,如果有问题可以在文章后留言. 这篇将从项目实战开发,一步一步了解laravel框架. 在开发mvc项目时,models都是第一步. 下面就从建模开始. 实体关系图 由于不 ...
- .net转php laraval框架学习系列(一) 环境搭建
之前也没写过什么博客,可能文章结构比较混乱,想到那写到哪. 主要是把自己学习中的经验写下来. 为什么选择laravel框架,是因为laravel框架目前是Php最流行的框架,深入研究后发现和asp.n ...
- .net转php laraval框架学习系列(三)项目实战---Route&Controllers
本章来学习laravel的路由 一个简单的路由列子 Route::get('/', function() { return 'Hello World'; }); 路由的写法和Node的风格很相似.上面 ...
- scrapy爬虫学习系列四:portia的学习入门
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
- DocX开源WORD操作组件的学习系列四
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...
- .net reactor 学习系列(四)---.net reactor应用场景
原文:.net reactor 学习系列(四)---.net reactor应用场景 前面已经学习了.net reactor一些基础知识,现在准备学习下实际的应用场景,只是简单的保护和 ...
- 4.VUE前端框架学习记录四:Vue组件化编码2
VUE前端框架学习记录四:Vue组件化编码2文字信息没办法描述清楚,主要看编码Demo里面,有附带完整的代码下载地址,有需要的同学到脑图里面自取.脑图地址http://naotu.baidu.com/ ...
- web前端Vue+Django rest framework 框架 生鲜电商项目实战✍✍✍
web前端Vue+Django rest framework 框架 生鲜电商项目实战 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频 ...
- web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 ☝☝☝
web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 学习 ...
随机推荐
- 实用C51编程的高级技巧(C51编程)
一.C51热启动代码的编制 void main() { char data *HotPoint=(char *)0x7f; if((*HotPoint==0xaa)&&(*(--Hot ...
- 【转】Thunderbird中配置签名
原文网址:https://support.mozilla.org/zh-CN/kb/Thunderbird%E4%B8%AD%E9%85%8D%E7%BD%AE%E7%AD%BE%E5%90%8D “ ...
- bzoj2244[SDOI2011]拦截导弹
http://www.lydsy.com/JudgeOnline/problem.php?id=2244 第$i$个导弹看成一个三元组$(i,h_i,v_i)$ 其实就是最长上升子序列的问题. 我们分 ...
- erlang mnesia 数据库查询
Mnesia是一个分布式数据库管理系统,适合于电信和其它需要持续运行和具备软实时特性的Erlang应用,越来越受关注和使用,但是目前Mnesia资料却不多,很多都只有官方的用户指南.下面的内容将着重说 ...
- 转:史上最全最强SpringMVC详细示例实战教程
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--conf ...
- SQL VS NoSQL
(关系型与非关系型)数据库的区别: 关系型和非关系型数据库的主要差异是数据存储的方式 1.1 数据表 VS 数据集 关系型数据天然就是表格式的,因此存储在数据表的行和列中.数据表可以彼此关联协作存储, ...
- Android Clipboard(复制/剪贴板)
Android提供的剪贴板框架,复制和粘贴不同类型的数据.数据可以是文本,图像,二进制流数据或其它复杂的数据类型. Android提供ClipboardManager.ClipData.Item和Cl ...
- [置顶] 对于最新的Android病毒,Smack完全可以抵御
我写的有关Smack和Android系统结合的技术博客,希望有志之士可以参透其中奥妙,Smack作为Linux内核安全模块,已经可以移植到Android系统中,如果大家弄清我写的Smack安全策略,可 ...
- Linux下Weblogic域的创建过程
环境介绍:操作系统 :Redhat 5.5Weblogic :英文版 8.1.6 Weblogic安装目录 :/weblogic 一.域的建立执行下面语句进入weblogic的bin目录: cd /w ...
- hadoop部署工具与配置工具
https://github.com/xianglei/phpHiveAdmin 随着Hadoop的推出,大数据处理实现了技术上的落地.但是对于一般的公司和开发者而言,Hadoop依旧是一个陌生或者难 ...