如何使用Fatfree Framwork创建基于动态类别的Url PHP?

时间:2015-10-07 19:06:20

标签: php fat-free-framework

我想要的是推特或面子书亲切的网址。 就像我写twitter dot com /用户名一样,它直接转到该用户的个人资料

在fatfree框架中,路由就像这样分配它的作品

$f3->route('GET /about',function($f3)
{
    echo 'Donations go to a local charity... us!';
});

然后将url像localhost / site / About传递到浏览器地址栏 函数被调用,但如果我想动态调用它并写

$f3->route('GET /@pageName',function($f3)
{
    echo 'Donations go to a local charity... us!';
});

然后传递url,如localhost / site / Nisarg 它显示我404错误,没有被调用,但

$f3->route('GET /@pagename/*',function($f3)
{
    echo 'Donations go to a local charity... us!';
});

然后传递两个/像localhost / site / Nisarg / Desai那样被调用 任何想法发生了什么?

1 个答案:

答案 0 :(得分:1)

如何拥有多个每定义变量的版本呢......

$f3->route('GET /@pageName',function($f3)
{
    $this->do($f3);
});

$f3->route('GET /@pageName/@var1',function($f3)
{
    $this->do($f3);
});

$f3->route('GET /@pageName/@var1/@var2',function($f3)
{
    $this->do($f3);
});

$f3->route('GET /@pageName/@var1/@var2/@var3',function($f3)
{
    $this->do($f3);
});

$f3->route('GET /@pageName/@var1/@var2/@var3/@var4',function($f3)
{
    $this->do($f3);
});
然后,do函数会对所有人执行相同的操作,但会考虑是否定义了val n

我已经看到过这种习惯用于其他语言。我不确定f3是否已经内置了更好的方法。

根据documentation,您似乎可以使用/@var /*。这两种情况都可能不受支持。