我不知道我的问题是否应该在这里问。如果是这种情况,请让我知道或移动/删除它。
问题:
为了学习,我正在为一个非常小的个人网站制作自己的小型 MVC“库”。这是正在使用的过程(如果我还没有接近正确的方法,请纠正我):
- 所有请求(图像等除外)都通过 index.php(引导文件)发送。
引导文件解析请求并提取控制器和操作,例如:
http://www.Domain.com/Controller/Action/Argument1/Argument2/ ...
其中Controller是控制器,action是在控制器上调用的方法。在这种情况下,它最终会是:Controller -> Action ( Argument1 , Argument2 );
现在,如果用户访问:
http://www.Domain.com/Controller/__destruct
或者
http://www.Domain.com/Controller/__get/password
当前解决方案:
- 通过 $config->getURIFilter() 方法或其他方法运行请求
- 检查 method_exists() 和 is_callable() 等。
- 控制器中没有任何不用于处理请求的方法
看起来这不应该是一个问题,而且我的设计是错误的。
PS我已经看过很多优秀的 MVC PHP 框架(CodeIgniter、Yii、CakePHP、Zend、Swiftlet 等)