Laravel 4之URL生成

获取当前URL

获取当前URL有两种方式,URL::current()URL::full(),区别是返不返回GET参数如

  1. Route::get('/current/url',function()
  2. {
  3. return URL::current();
  4. });

输入/current/url?foo=bar时只显示http://myapp.dev/current/url。使用URL::full()则显示http://myapp.dev/current/url?foo=bar

获取之前的URL

  1. // app/routes.php
  2. Route::get('first',function()
  3. {
  4. // Redirect to the second route.
  5. returnRedirect::to('second');
  6. });
  7. Route::get('second',function()
  8. {
  9. eturn URL::previous();
  10. });

输入/first,返回http://loacahost,URL::previous()返回的是之前到first的路由

生成URL

使用URL::to()生成URL,如

  1. Route::get('example',function()
  2. {
  3. return URL::to('another/route', array('foo','bar'));
  4. });

生成的URL为http://myapp.dev/another/route/foo/bar,如需将HTTP协议变为HTTPS,则用

  1. URL::to('another/route', array('foo','bar'),true);

或是使用

  1. URL::secure('another/route', array('foo','bar'));

使用路由别名生成URL

  1. Route::get('the/best/avenger', array('as'=>'ironman',function()
  2. {
  3. return'Tony Stark';
  4. }));
  5. Route::get('example',function()
  6. {
  7. return URL::route('ironman');
  8. });

使用URL参数

  1. Route::get('the/{first}/avenger/{second}', array(
  2. 'as'=>'ironman',
  3. function($first, $second){
  4. return"Tony Stark, the {$first} avenger {$second}.";
  5. }
  6. ));
  7. Route::get('example',function()
  8. {
  9. return URL::route('ironman', array('best','ever'));
  10. });

到控制器的URL

  1. // Route to the Stark controller.
  2. Route::get('tony/the/{first}/genius','Stark@tony');
  3. Route::get('example',function()
  4. {
  5. return URL::action('Stark@tony', array('narcissist'));
  6. });

到资源的绝对URL

  1. Route::get('example',function()
  2. {
  3. return URL::asset('img/logo.png');
  4. });

返回http://myapp.dev/img/logo.png,同样,使用HTTPS

  1. return URL::asset('img/logo.png',true);

或是

  1. return URL::secureAsset('img/logo.png');

在视图中生成URL

使用url()在视图中生成URL,方法跟参数跟以上的没什么区别,使用如下

  1. <ahref="">My Route</a>

或是

  1. <ahref="">My Route</a>

使用路由别名

  1. <ahref="">My Route</a>

使用控制器

  1. <ahref="">My Route</a>

使用资源

  1. <ahref="">My Route</a>
  2. <ahref="">My Route</a>

结束

[转]Laravel 4之URL生成的更多相关文章

  1. Laravel 深入理解路由和URL生成

    原文地址: Laravel 深入理解路由和URL生成 在模板中我们一般不会直接写死url,而是用url助手生成url,本文介绍一下url助手的使用以及遇到的一些比较头疼的问题. 首先,我们创建了一个路 ...

  2. ASP.NET根据URL生成网页缩略图示例程序(C#语言)

    工作中可能马上要用到根据URL生成网页缩略图功能,提前做好准备. 在网上找了份源码,但是有错误:当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a ...

  3. YII框架路由和URL生成

    路由和URL生成 当一个YII应用开始处理一个请求的时候,它首先要做的便是将请求的URL转化成一个路由.路由的作用是用于后续实例化相应的控制器和操作,以便处理请求,整个处理过程便叫做路由.路由的逆过程 ...

  4. thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)

    原文:thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成(十五) 本章节:详细介绍thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成 一.URL ...

  5. 使用Visual Studio 2010写Data Url生成工具C#版本

    声明:本文系本人按照真实经历原创.未经许可,谢绝转载. 此文百度经验版本号:怎样用Visual Studio 2010打造Data Url生成工具 源代码下载:用Visual Studio 2010编 ...

  6. HTML5——Data Url生成

    HTML5——Data Url生成 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  7. thinkphp3.2笔记(2)调试模式,配置项C,创建模块, 四种URL模式,URL生成,跳转

    一.调试模式 TP的调试模式其实就控制了TP关于配置信息以及函数的缓存功能 如果开启了调试模式,每次访问项目,Tp都会去加载最新的配置以及函数信息. 如果关闭了调试模式,当tp第一次访问时会降配置以及 ...

  8. iOS 根据url生成二维码贴到底图上

    根据url 生成指定尺寸的二维码图片 UIImage * createBinaryCodeImg(const char * url ,CGFloat size) { //create binary c ...

  9. C#根据url生成唯一的key

    根据url生成唯一的idkey,记录并分享: public class UrlToUniqueKey { ); , ] { { 0L, 0L }, { -4611686018427387904L, - ...

随机推荐

  1. Android Fragment详解(四):管理Fragment

    要管理fragment们,需使用FragmentManager,要获取它,需在activity中调用方法getFragmentManager(). 你可以用FragmentManager来做以上事情: ...

  2. JavaScript 对象 - 与属性的相关知识

    function inherit(p){ if(p == null) throw TypeError(); if(Object.create) return Object.create(p); var ...

  3. windows程序消息机制(Winform界面更新有关)--转

    1. Windows程序消息机制 Windows GUI程序是基于消息机制的,有个主线程维护着消息泵.这个消息泵让windows程序生生不息. Windows程序有个消息队列,窗体上的所有消息是这个队 ...

  4. MVC 路由Router

    Url路由将进入的请求发送给控制器操作. url路由使用路由表处理进入的请求 此路由表在应用程序第一次启动时创建. 路由表在Global.asax文件中设置

  5. silverlight visifire控件图表制作——silverlight 后台方法ControlChart.xaml.cs

    一.构造方法ControlChart 1.前台页面控件赋值 //时间下拉框赋值,下拉框赋选定值                for (int ii = DateTime.Today.Year; ii ...

  6. CC开发问题一

    CC编译成功,启动失败,debug状态下报错如下,未能加载文件或程序集 这个问题查了一些资料,http://blog.csdn.net/shellching/article/details/82947 ...

  7. Codeforces Round #302 (Div. 1)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud A. Writing Code Programmers working on a ...

  8. Convert.ToInt32()和int.Parse()的区别

    (1)Convert.ToInt32(null)会返回0而不会报异常,但int.Parse(null)则会产生异常 (2)Convert.ToInt32("")和int.Parse ...

  9. PHP获取文件后缀名的三种方法

    如下: <? PHP获取文件后缀名的几种方法1: function get_file_type($filename){ $type = substr($filename, strrpos($fi ...

  10. NoSql中的B-tree、B+tree和LSM-tree

    总结: 1.B+树将数据完全排序,读数据时很快,但当要修改数据时,就需要将新入数据下面的数据重新排位,特别是当写入的数据排在较高的位置时,需要大量的移位操作才能完成写入. 2.SLM牺牲部分的读性能, ...