.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 框架 生鲜电商项目实战视频教程 学习 ...
随机推荐
- 包含无数好东西的ownCloud
ownCloud 是一个来自 KDE 社区开发的免费软件,提供私人的 Web 服务.当前主要功能包括文件管理(内建文件分享).音乐.日历.联系人等等,可在PC和服务器上运行. 简单来说就是一个基于Ph ...
- 设计模式(七):Adapter 适配器模式 -- 结构型模式
1. 概述: 接口的改变,是一个需要程序员们必须(虽然很不情愿)接受和处理的普遍问题.程序提供者们修改他们的代码;系统库被修正;各种程序语言以及相关库的发展和进化. 例子1:iphone4,你即可以 ...
- 【疑难杂症】xmind启动后,自动退出的问题
xmind安装一段时间后,就会出现一启动,就自动退出的情况.卸载重装也无法解决,在试过网上的各种方法后,发现这个方法最凑效. 打开xmind.ini(安装目录下),删除以下几行,保存配置文件,重启即可 ...
- [Python]round四舍五入精度缺失的解决
环境: os: win7 64bit python:2.7.5 32bit 对python四舍五入的解决方案 现象: 一般的四舍五入操作都是使用内置的round方法 In [14]: round ...
- zoj3422Go Deeper(2-sat + 二分)
题目请戳这里 题目大意: go(int dep, int n, int m) begin output the value of dep. if dep < m and x[a[dep]] + ...
- 模拟Vue之数据驱动2
一.前言 在随笔“模拟Vue之数据驱动1”结尾处,我们说到如果监听的属性是个对象呢?那么这个对象中的其他属性岂不就是监听不了了吗? 如下: 倘若user中的name.age属性变化,如何知道它们变化了 ...
- CSS常用操作-图片
index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...
- javascript 倒计时天、小时、分钟、描述的倒计时代码
调用方法 var _TimeCountDown = new TimeCountDown("sttime1",{ startTime:'2016-07-30 10:07:55', / ...
- Highcharts 带有数据标签曲线图表
<html> <head> <meta charset="UTF-8" /> <title>Highcharts</title ...
- Uncaught SyntaxError : Unexpected token ILLEGAL js传递带空格的参数
通常在页面中要让某些内容点击后产生点击事件(非页面跳转)都会使用onclick,但是这样不适于需要传递参数的情况,于是写成直接调用JavaScript函数的方式:<a href=javascri ...