使用Flight框架在PHP中进行路由

时间:2013-06-30 00:11:02

标签: php url-routing

我没有任何PHP框架经验,只是对它们的使用有一些非常普遍的问题:特别是URL路由。

我正在使用微框架,Flight。

简单路由示例:

<?php

    // Flight Framework
    require "flight/Flight.php";

    Flight::route('/', function(){
        echo 'hello world!';
    });

    Flight::start();

?>

当我访问此页面(/)时,我收到了'hello world'消息。很好,工作正常。

我的问题是,路由是否用于不存在的网址(例如/类别)?然后,当用户访问该页面时,将调用该函数?

因此,如果我将路线改为'/ categories',那么在访问/类别时不应该显示这个'hello world'功能吗?

2 个答案:

答案 0 :(得分:3)

为了满足您的期望,您需要启用URL重写。如果您使用apache作为使用Mod rewrite的Web服务器,则可以实现此目的。重写URL时,Web服务器将所有不存在的路径URL路由到index.php,并让index.php处理请求。下面是放置在.htaccess文件中的此类重写代码的示例。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

答案 1 :(得分:0)

使用Flight时,使用PHP的内部Web服务器更加容易。至少用于测试目的。

php -S <url>:<port>