我目前正在开发自己的 PHP 框架,我需要一些帮助来确定我是否朝着正确的方向前进......
该框架既供我自己使用,也可以进一步提高我的 PHP 技能。我遇到了许多问题,通过克服它们我学到了很多东西,并且喜欢能够从无到有地创造一些东西,所以我宁愿不要看到像“Just use Zend”这样的答案!;)
我已经阅读了 Stack Overflow 和其他一些网站上的大量文章,但不能完全得到我需要的正确答案,所以希望有人能给我一些有用的建议!
我尝试了一些不同的解决方案,但我最终让自己感到困惑,我不确定现在该往哪个方向发展!无法完全理解这一切......
“理论”框架结构
- .htaccess
- index.php
- private/
- app/
- bootstrap.php
- modules/
- default/
- controllers/
- pages.php
- index.php
- models/
- views/
- admin/
- controllers/
- models/
- views/
- config/
- config.php
- autoloader.php
- lib/
- Some_Library
- Class1
- class1.php
- Class2
- class2.php
- public/
- css
- images
- scripts
细节
- index.php是主文件,每个请求都使用.htaccess路由到该文件。
- private/显然不能公开访问。
- public/包含所有公共文件。
- app/包含所有应用程序特定的代码。
- lib/可以包含 Zend 或其他库(我也在自己工作),用自动加载器调用
- bootstrap.php是特定于应用程序的代码...我需要这个吗?主要的“index.php”是否足够?.
- modules/将包含每个模块...我需要模块吗?.
- default/是包含大多数请求的 MVC 的默认模块(当 'admin' 不是 URL 的第一部分时使用)。
- admin/是包含管理部分的 MVC 的模块。
无论如何,对于我的问题...
我认为将管理部分与网站的其他部分分开会更好,但这就是我卡住的地方。我已经制作了上述结构来使用它,但我不确定这是否是最有效的方法。
如果请求site.com/videos/view/1/来到我的网站..
模块:默认 控制器:视频 动作:查看 参数:数组('1')
如果请求site.com/admin/pages/view/1/来到我的网站..
模块:管理 控制器:页面 操作:查看 参数:数组('1')
这是解决这个问题的正确方法吗?还是我过于复杂化并做了一些不值得做的事情?
我的管理部分是否应该有一个完全独立的应用程序框架...?我什至需要将管理部分的 MVC 与其他部分分开吗?
很抱歉这个大问题,只是想给你尽可能多的信息!请随意回答您可以回答的任何部分=P