think PHP URL生成

定义路由规则之后,我们可以通过Url类来方便的生成实际的URL地址(路由地址),针对上面的路由规则,我们可以用下面的方式生成URL地址。

// 输出 blog/thinkphp
Url::build(‘blog/read‘, ‘name=thinkphp‘);
Url::build(‘blog/read‘, [‘name‘ => ‘thinkphp‘]);
// 输出 blog/5
Url::build(‘blog/get‘, ‘id=5‘);
Url::build(‘blog/get‘, [‘id‘ => 5]);
// 输出 blog/2015/05
Url::build(‘blog/archive‘, ‘year=2015&month=05‘);
Url::build(‘blog/archive‘, [‘year‘ => ‘2015‘, ‘month‘ => ‘05‘]);

提示:



build方法的第一个参数使用路由定义中的完整路由地址。

我们还可以使用系统提供的助手函数url来简化

url(‘blog/read‘, ‘name=thinkphp‘);
// 等效于
Url::build(‘blog/read‘, ‘name=thinkphp‘);

通常在模板文件中输出的话,可以使用助手函数,例如:

{:url(‘blog/read‘, ‘name=thinkphp‘)}

如果我们的路由规则发生调整,生成的URL地址会自动变化。

如果你配置了url_html_suffix参数的话,生成的URL地址会带上后缀,例如:

‘url_html_suffix‘   => ‘html‘,

那么生成的URL地址 类似

blog/thinkphp.html
blog/2015/05.html

如果你的URL地址全部采用路由方式定义,也可以直接使用路由规则来定义URL生成,例如:

url(‘/blog/thinkphp‘);
Url::build(‘/blog/8‘);
Url::build(‘/blog/archive/2015/05‘);

生成方法的第一个参数一定要和路由定义的路由地址保持一致,如果你的路由地址比较特殊,例如使用闭包定义的话,则需要手动给路由指定标识,例如:

// 添加hello路由标识
Route::rule([‘hello‘,‘hello/:name‘], function($name){
    return ‘Hello,‘.$name;
});
// 根据路由标识快速生成URL
Url::build(‘hello‘, ‘name=thinkphp‘);
// 或者使用
Url::build(‘hello‘, [‘name‘ => ‘thinkphp‘]);

目前为止,我们掌握的路由功能还只是ThinkPHP5.0路由功能的冰山一角,以后我们还会通过更多的专题来讲解路由。

【 5.1 】使用须知



5.1版本,你需要引入think\facade\Url才能使用静态方法调用,其它用法不变。

原文地址:https://www.cnblogs.com/xu1115/p/10983088.html

时间: 2024-11-09 03:18:26

think PHP URL生成的相关文章

Data Url生成工具之HTML5 FileReader实现

百度经验版本:如何用HTML5的FileReader生成Data Url 上一篇讲了:用Visual Studio 2010编写Data Url生成工具C#版 今天用HTML5 FileReader实现了一下Data Url生成工具,上代码吧: <!DOCTYPE html <html xmlns="http://www.w3.org/1999/xhtml" > <head> <meta http-equiv="Content-Type&q

Laravel 深入理解路由和URL生成

在模板中我们一般不会直接写死url,而是用url助手生成url,本文介绍一下url助手的使用以及遇到的一些比较头疼的问题. 首先,我们创建了一个路由: Route::get('articles',['uses'=>'[email protected]','as'=>'articles.index']); 假设我们的项目部署在域名根目录,那么可以通过下面的url访问: http://localhost/articles 现在,我们在模板中生成链接,有几种方式: 简单模式 <a href=&

支付宝接口url生成,MD5验证

原文链接:http://my.oschina.net/rain21/blog/496780 URL生成: <?php $parameter = array(     'service'           => 'create_forex_trade',     'partner'           => '2088101122136241',     '_input_charset'    => strtolower('utf-8'),     'notify_url'    

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

原文:thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成(十五) 本章节:详细介绍thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成 一.URL规则 1.默认是区分大小写的 2.如果我们不想区分大小写可以改配置文件 'URL_CASE_INSENSITIVE'=>true,//url不区分大小写 *模块命名太长的情况: A.如果模块名为 UserGroupAction,复杂模块(一般是IndexAction) 那么url找模块就必要要写成

Data Url生成工具C#版 第二版

为什么有第二版 ??首先感谢 jenlynn 同学的留言"DATA URL两种生成方式,C#和HTML5 两者同一张生成的base64编码貌似不一样,能有什么方法让他们达成一致吗". ??其次,在研究这个问题时发现了Bug和异常. Bug:图片编码判断问题,不管什么扩展名的都默认使用了PNG编码. 异常:检测到 ContextSwitchDeadlock 界面预览 针对相关问题的改进方法 图片编码判断问题 之前主要是忘记了获取的扩展名前面是带点.的 相关代码: string ext =

Java下的URL生成类

该类用于生成一个可用的URL,方便URL的生成和管理. /** * 构造的URL * @author Alvin */ final public class UrlBuilder { // 协议名称 private String scheme; // 服务器名称 private String serverName; // 端口号 private int serverPort; // 上下文名称 private String[] paths; // 参数集合 private Map<String,

HTML5——Data Url生成

HTML5——Data Url生成 1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="utf-8" /> 6 <title>如何用HTML5的FileReader生成Data Url</title> 7 8 <script type="text/javascript"> 9 function imageDataUrl(sou

用Visual Studio 2010编写Data Url生成工具C#版

声明:本文系本人依照真实经历原创,未经许可,谢绝转载. 此文百度经验版本:如何用Visual Studio 2010打造Data Url生成工具 源码下载:用Visual Studio 2010编写Data Url生成工具C#源码 什么是Data Url呢?Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入. 例如: <img src="data:image/png;base64,iVBORw0KGgoAAAANSUh

php获取远程图片url生成缩略图的方法

getimg.php <?php /** * *函数:调整图片尺寸或生成缩略图 *返回:True/False *参数: * $Image 需要调整的图片(含路径) * $Dw=450 调整时最大宽度;缩略图时的绝对宽度 * $Dh=450 调整时最大高度;缩略图时的绝对高度 * $Type=1 1,调整尺寸; 2,生成缩略图 */ $phtypes=array('img/gif', 'img/jpg', 'img/jpeg', 'img/bmp', 'img/pjpeg', 'img/x-png