我还没有找到一个非常简单的MVC框架。框架如何通过URL访问控制器成为可能?我认为它与QUERY_STRING
有关,但它不是假设有?
吗?
http://localhost/public/controllername
和localhost/public
位于:
C:\wamp\www\public\
包含index.php
答案 0 :(得分:1)
通常,这是通过使用.htaccess
重写(Apache mod_rewrite)完成的:
.htaccess
重写将每个不是静态文件的查询定向到主入口点,例如index.php
,假设您使用PHP作为服务器端语言。 index.php
中解析URI并在应用程序中建立一些路由。简单示例:
.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]
index.php
档案:
$uri = $_SERVER['REQUEST_URI'];
$parts = explode('/', $uri);
// assuming you want /controller/action/* mapping
$controller = 'index'; // default
$action = 'index'; // default
if (isset($parts[0])) $controller = $parts[0];
if (isset($parts[1])) $action = $parts[1];
// now, you'd try to establish some logic to test wether this controller/action
// actually exists, and load it. I'll leave this up to you.
当然,这只是一个快速而粗略的例子,但应该让你知道如何做到这一点。
答案 1 :(得分:-1)
解析$ _SERVER [' REQUEST_URI']