url配置实现动态的controller名
本帖最后由 lamperz 于 2009-5-19 18:09 编辑我需要实现一个类似的url构造
每个用户有一个自己的主页,以用户名直接访问
例如用户名为 myname的用户,可以使用下面这样访问一个页面
http://localhost/myname/ 本帖最后由 lamperz 于 2009-5-19 18:09 编辑
就是在routes.php里面根据数据库的结果生成一个$routes 数组 本帖最后由 caincheung 于 2009-5-20 04:32 编辑
貌似在$routes这个数组里可以用正则表达式
$routes['u(.*)'] = 'index/userspace/$1';
在访问http://localhost/uabc时,访问的则是index控制器的userspace方法,其参数为abc(以u作为前缀) 这样可以给routes传参 哇呀?有这一招,学习了。 学习了,多谢分享 貌似在$routes这个数组里可以用正则表达式PHP
$routes['u(.*)'] = 'index/userspace/$1';
复制代码
在访问http://localhost/uabc时,访问的则是index控制器的userspace方法,其参数为abc(以u作为前缀)
---------------------------
我实验了下,这样参数传不进来
$1获取不到 找到办法了,在控制器里面读写route.php,动态添加内容
function t()
{
// echo APPPATH;
$file = APPPATH.'config/routes.php';
$p = fopen($file, "a+b");
fwrite($p, "\r\n");
fwrite($p, '$route[' . "'newyork(.*)'] = \"city/index/4\";");
} 楼上的方法不推荐在控制器里做,最好扩展 router 类。 同意Hex童鞋
页:
[1]