文档章节

Laravel3 学习笔记

mdoo
 mdoo
发布于 2015/10/09 22:34
字数 1095
阅读 29
收藏 0

Web开发框最大的存在意义无疑是为开发者提供便利,这种被提供的便利不仅表现在对于整个应用接口上的梳理、组织和解耦,也表现在更多细微方 便,比如各种工具的提供。Laravel3为开发者提供了各种有关web开发的工具,让开发者在开发应用时只需要关注于自身的业务,而不必在拘泥在其他外 延的纠缠。

跳转

跳转在Web应用中经常被用到,Laravel3提供丰富的实现跳转的方法:

跳转到特定uri:

return Redirect::to('user/profile');

 

附带特定的状态码如301/302进行跳转:

return Redirect::to('user/profile', 301);

 

发起https跳转:

return Redirect::to_secure('user/profile');

 

返回应用根目录:

return Redirect::home();

 

返回上一个动作uri的跳转:

return Redirect::back();

 

跳转到一个命名路由:

return Redirect::to_route('profile');

 

跳转到某一个controller类中的方法:

return Redirect::to_action('home@index');

 

附带参数可以这样:

return Redirect::to_route('profile', array($username));
return Redirect::to_action('user@profile', array($username));

 

附带flash消息的跳转:

return Redirect::to('profile')->with('status', 'Welcome Back!');

 

可以这样读取msg内容:

$status = Session::get('status');

laravel 并没有使用php自带的session $_SESSION 也同样不能使用,laravel自己内建了全新的session

写入session的方法是

Session::put('key','value');

仅仅这样是不够的,偶尔会丢失Session

你还需要在写入Session的之后执行保存Session::save();

这样就解决了session丢失的问题了。

错误响应返回

404错误返回:

return Response::error('404');

 

500错误返回:

return Response::error('500');

 

类库的调用

对于经常使用的类库可以将类库文件放到application/libraries文件夹下,laravel用自动载入这些类库,不必再手动显 式载入调用,简化了开发。比如我们建立一个application/libraries/printer.php类库文件,其内容为:

class Printer {
    public static function write($text) {
        echo $text;
    }
}

 

然后就可以在其他地方通过Printer::write()来调用类库中的方法了。

文件下载

返回一个文件下载响应:

return Response::download('file/path.jpg');

 

可以对文件进行重命名:

return Response::download('file/path.jpg', 'photo.jpg');

 

资源管理

Laravel3在管理css和js资源文件方面提供了一些帮助,(个人感觉用处不大,如果不能很好的和backbone这样的前端框架整合,这个功能意义真的不大)。

添加资源:

Asset::add('jquery', 'js/jquery.js');

 

第一个参数是资源名,第二个参数是资源文件相对于public文件夹的位置。

我们知道不管是css还是js在前端加载的时候都需要有一定的顺序,这就牵扯到了依赖,所以在添加资源的时候不能不考资源依赖的问题。

在添加资源的时候我们可以这样处理:

// jquery-ui 资源依赖 jqueryAsset::add('jquery-ui', 'js/jquery-ui.js', 'jquery');

 

这样,Laravel3 就会帮助我们自动处理好资源依赖问题了。

当某个资源依赖多个其他资源时,只需要将其他资源作为数组当做第三个参数传入:

// third 资源同时一来first资源与second资源Asset::add('third', 'js/third.js', array('first', 'second'));

 

然后在模板中调用Asset::styles()和 Asset::scripts()方法可以调用出已经添加的资源,即生成相应的html代码在view中渲染:

如下:

echo Asset::styles();echo Asset::scripts();

 

在blade模板中可以直接使用

{{Asset::styles();}}{{Asset::scripts();}}

 

资源容器

往往我们需要粒度更细的资源管理,比如我们希望一部分js在网页底部加载以提高网页整体的加载速度。这时候我们可以使用资源容器来帮助我们再组织资源,以方便部分调用。

建立一个资源容器并且向其中添加资源:

// 建立容器名为footerAsset::container('footer')->add('example', 'js/example.js');

 

这样调用:

echo Asset::container('footer')->scripts();

 

如果是在Blade模板之中可以这样:

{{Asset::container('footer')->scripts();}}

 

对于bundle的资源,Laravel3也为我们提供了方案,只需将资源容器与bundle绑定:

Asset::container('foo')->bundle('admin');

 

然后我们再往此容器中添加资源的时候,Laravel3将会自动为我们指向bundle所在public目录,我们只需要填写资源的相对路径。

转自:http://www.tuicool.com/articles/6VV7Nj

© 著作权归作者所有

共有 人打赏支持
mdoo
粉丝 7
博文 66
码字总数 51751
作品 0
淄博
laravel4 简单demo

前端时间laravel4发布了,偶有时间就赶紧学习了下,学习过程中把以前laravel3的demo全部迁移到了laravel4,内容涵盖laravel4中的分页,文件上传,一对一,一对多,多对多等知识点,总体来说l...

岭南六少
2013/06/10
0
5
MyBatis学习笔记系列教程

【MyBatis学习笔记】系列之预备篇一:ant的下载与安装 【MyBatis学习笔记】系列之预备篇二:ant入门示例 【MyBatis学习笔记】系列之一:MyBatis入门示例 【MyBatis学习笔记】系列之二:MyBat...

HenrySun
2016/10/15
19
0
《Pro ASP.NET MVC 3 Framework》学习笔记目录

《Pro ASP.NET MVC 3 Framework》简介: 作者: Adam Freeman 和 Steven Sanderson 出版社: Apress; New 平装: 820页 语种: 英语 ISBN: 1430234040 声明:笔记里面按我自己的理解翻译了大部分...

mszhangxuefei
2012/02/07
0
0
MySQL入门很简单-学习笔记 - 索引页

索引一下,方便阅读,后面有完整的PDF下载地址 MySQL入门很简单-学习笔记 - 第1 章 数据库概述 MySQL入门很简单-学习笔记 - 第 2 章 Windows平台下安装与配置MySQL MySQL入门很简单-学习笔...

晨曦之光
2012/03/09
0
0
《HTML5学习笔记简明版》系列技术文章整理收藏

《HTML5学习笔记简明版》系列技术文章整理收藏 HTML5学习笔记简明版来自博客园的汤姆大叔,在HTML5学习笔记简明版汤姆大叔对HTML5有更详细的讲解,收藏在这里供学习参考 1HTML5学习笔记简明版...

开元中国2015
2015/06/22
11
0

没有更多内容

加载失败,请刷新页面

加载更多

javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
0
0
谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linux-tao
昨天
0
0
学习设计模式——中介者模式

1. 认识中介者模式 1. 定义:用一个中介对象来封装一系列的对象交互行为,中介者使得各对象不需要显式的互相引用,从而使其松散耦合,独立的改变他们之间的交互。 2. 结构: Mediator:中介者...

江左煤郎
昨天
0
0
深入理解Plasma(1):Plasma 框架

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章作为开篇,主要目的是理解 Plasma 框架。 Plasma 作为以太坊的二层扩容...

HiBlock
昨天
0
0
Java 8 日期 示例

Java 8 推出了全新的日期时间API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。Java也意识到需...

阿刚ABC
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部