PHP应用程序中的基本路由

时间:2014-03-27 07:59:04

标签: php url routing url-routing

我正在编写一个PHP应用程序。我想为我的应用程序的所有请求创建一个单点。这是在 index.php 文件中使用路由逻辑的最佳方法吗?根据URL中的参数,使用一个开关案例来包含所需的文件&创建完整的页面?

或者

有没有其他方法可以有效地做到这一点?

1 个答案:

答案 0 :(得分:0)

您是否正在使用 MVC 之类的结构?

对我来说,index.php应该 Bootstrap 脚本,它通常在我的应用程序中包含几行代码,仅此而已。

此外,我认为最常用的管理路由的方式是通过Apache的mod_rewrite或其他网络服务器中的类似方法。

使用switch语句可能会导致超过10-20个案例失控。这是我通常做的非常简化的版本:

http://localhost/news/100将转换为http://localhost/index.php?module=news&id=100

index.php我有请求处理程序,它会加载module,如下所示:

$app->run( $_REQUEST['module'], 
    array(
        'action' => $_REQUEST['action'], 
        'id'     => $_REQUEST['id']
    )
);

module有几个actionsrun的{​​{1}}方法查看是否有app指定了; {如果没有,它将触发action操作。在这种情况下,它将default ID为show的新闻。这样的事情将触发100动作:

edit

这只是个主意。您不应该尝试在应用程序中使用上面的PHP代码,因为它不是生产级代码。我只想简要解释http://localhost/news/edit/100 语句方法的替代方法。