.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项目中。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。