【发布时间】:2012-07-31 23:56:45
【问题描述】:
我正在创建一个 PHP 框架,但我有一些疑问......
框架以这种方式获取 url:
http:/web.com/site/index
它将第一个参数加载控制器(site),然后加载具体动作(index)。
如果您已将框架安装在基本 URL 中,则可以正常工作,但如果您将其安装在这样的子文件夹中:
http://web.com/mysubfolder/controller/action
我的脚本将其解析为控制器 = mysubfolder 和操作 = controller。
如果您有更多的子文件夹,结果将是最差的。
这是我的路线代码:
Class Route
{
private $_htaccess = TRUE;
private $_suffix = ".jsp";
public function params()
{
$url='';
//nombre del directorio actual del script ejecutandose.
//basename(dirname($_SERVER['SCRIPT_FILENAME']));
if($this->_htaccess !== FALSE):
//no está funcionando bien si está en un subdirectorio web, por ej stynat.dyndns.org/subdir/
// muestra el "subdir" como primer parámetro
$url = $_SERVER['REQUEST_URI'];
if(isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])):
$url = str_replace("?" . $_SERVER['QUERY_STRING'], '',$url);
endif;
else:
if(isset($_SERVER['PATH_INFO'])):
$url = $_SERVER['PATH_INFO'];
endif;
endif;
$url = explode('/',preg_replace('/^(\/)/','',$url));
var_dump($url);
var_dump($_GET);
}
}
感谢您提供的任何帮助。
【问题讨论】:
-
为什么要重新发明轮子?现有的 MVC 框架还不够好?
-
“不重新发明轮子”意味着互联网上只有 1 个 MVC 框架,我们无法获得更好的产品。有时是必要的。
-
@codingbiz 伙计,只是展示一些 Luv ! Luv 先生的精彩论证
-
@Stefan Luv 无论如何,我祝你好运......为你的勇气。 GitHub!!! :)
-
@codingbiz 当你想了解轮子时,重新发明轮子是件好事。
标签: php url frameworks routes