thinkphp u方法调用php,ThinkPHP U方法中使用路由的问题与解决办法

在ThinkPHP2.0版本,U方法与路由结合使用时存在bug,可能导致生成的URL地址错误。例如,预期生成的产品详情URL应为`product/5/123`,但实际可能出错。解决方法是直接按照实际URL格式手动编写,如`U('product/3-123')`。对于项目分组和不同参数分隔符的情况,需要相应调整U方法的参数。希望在后续版本中能对此问题进行修复。
摘要由CSDN通过智能技术生成

U方法中使用路由的问题

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

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

return array(

// 常规路由

'product'=>array('Products', 'show', 'category,product_id', 'status=1'),

)

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

index.php/product/5/123

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

产品详情

生成的 URL 地址如下:

产品详情

显然生成的 URL 地址有误。

U方法中使用路由

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

产品详情

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

// 项目分组

U('Admin/product/3/123')

// 参数分隔符为 -

U('product/3-123')

// 项目分组,参数分隔符为 -

U('Admin-product/3-123')

// 参数分隔符为 - ,参数为变量的例子

U('product/'.$_GET['cat_id'].'-'.$list['product_id'])

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值