Dan*_*ugg 5 php model-view-controller routes module
我正在为一个(哦不,另一个)PHP 框架编写一些零散的内容,作为一种学习经验,并希望将来可以在较小的项目中使用。
我已经阅读了相当多的内容,即现有框架的参考文档。我经常看到“模块”这个词,根据我的阅读和以前的经验,模块是一个用于划分相关代码(视图、控制器、模型等)的概念。
我很好奇,SO 在这种情况下如何看待模块?(上下文是 MVC Web 应用程序架构,或类似的应用程序开发模式)
我正在尝试确定如何最好地应用它,因为(我相信)它适合我当前的困境。对于音乐网站,模块将被视为Artist、Producer等,而控制器将是Profile、Media等。这当然会留下动作,例如View、 或Edit。
这一切看起来都不错,因为现在我可以像这样进行路由:
'Artist/Profile/View/{ALIAS}'
+- Module : Artist
+- Controller : Profile
+- Action : View
//this may be accessed via music.com/artist/{alias}
//defaulting the Controller and Action
Run Code Online (Sandbox Code Playgroud)
..但我试图弄清楚模块概念如何适合这里,特别是我将如何组织或修改我的控制器以适应。
这就是我正在考虑的文件系统布局;
+- Root
+- 'index.php'
+- 'api.php'
+- Modules
| +- Public
| | +- Controllers
| | +- Views
| |
| +- User
| | +- Controllers
| | +- Views
| |
| +- Artist
| | +- Controllers
| | +- Views
| |
| +- Producer
| | +- Controllers
| | +- Views
| |
| +- Venue
| | +- Controllers
| | +- Views
| |
| +- Administrator
| +- Controllers
| +- Views
|
+- Models
+- Config
+- ...
Run Code Online (Sandbox Code Playgroud)
模块(在 CakePHP 中称为插件)在大多数框架中几乎都是迷你应用程序。它们内部有自己的 MVC 结构,并且通常是自包含的,可能只依赖于主要应用程序模型来保持代码可重用。
我们在工作中使用 Zend,模块的示例是
基本上所有这些都属于同一站点/系统,但处理方式大多不重叠。
| 归档时间: |
|
| 查看次数: |
1534 次 |
| 最近记录: |