PHP头条
热点:

ThinkPHPU方法中使用路由的问题与解决办法


U方法中使用路由的问题

在 ThinkPHP 2.0 版本,U方法中使用路由会有明显的问题(bug)。下面以本节前文《ThinkPHP
路由使用》文中的例子为例来说明在ThinkPHP U方法中使用路由的问题与解决方案。

路由定义(如果使用 ThinkPHP 2.1RC
及更高版本,请同时参阅《ThinkPHP 2.1 路由规则对比 2.0 版本的变更》)如下:




  1. return array(
  2. // 常规路由
  3. 'product'=>array('Products', 'show', 'category,product_id', 'status=1'),
  4. )

对应的 URL
访问地址例子如下:

index.php/product/5/123

根据《ThinkPHP2.0完全开发手册》例子,在U方法中使用该路由:

href="{:U('product@?category=3&product_id=123')}">产品详情

生成的
URL 地址如下:

href="index.php/product/category/3/product_id/123">产品详情

显然生成的
URL
地址有误。
U方法中使用路由

要在U方法中使用路由,简单一点的办法是依照实际的URL地址手动写定,如上例的写法为:

href="{:U('product/3/123')}">产品详情

如果有项目分组或者URL参数分隔符为 -
等:




  1. // 项目分组
  2. U('Admin/product/3/123')
  3. // 参数分隔符为 -
  4. U('product/3-123')
  5. // 项目分组,参数分隔符为 -
  6. U('Admin-product/3-123')
  7. // 参数分隔符为 - ,参数为变量的例子
  8. U('product/'.$_GET['cat_id'].'-'.$list['product_id'])

在 ThinkPHP 2.0 版本,U方法中使用路由的 bug
,只希望在后续版本中能得到完善与解决。

www.phpzy.comtrue/phpkj/12441.htmlTechArticleThinkPHPU方法中使用路由的问题与解决办法 U方法中使用路由的问题 在 ThinkPHP 2.0 版本,U方法中使用路由会有明显的问题(bug)。下面以本节前文《ThinkPHP 路由使用》文中的例子为例来说明...

相关文章

相关频道:

PHP之友评论

今天推荐