【发布时间】:2011-03-02 07:19:02
【问题描述】:
我正在为一个(哦,不,另一个)PHP 框架编写一些零碎的东西,作为一种学习体验,并希望将来在较小的项目中使用。
我已经阅读了相当多的内容,即现有框架的参考文档。我经常看到Module这个词,根据我的阅读和以往的经验,Module 是一个用于划分相关代码(视图、控制器、模型等)的概念
我很好奇,在这种情况下,SO 是如何看待 Module 的? (上下文是 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
..但我试图弄清楚 Module 概念如何适合这里,特别是我将如何组织或修改我的控制器以适应。
这是我正在考虑的文件系统布局;
+- 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
+- ...
【问题讨论】:
-
有些人会因为你在重新发明轮子而劝阻你,但我强烈鼓励你。如果我们永远不会打开玩具,我们怎么会知道“它是如何工作的”?下一步是制作自己的玩具版本。祝兄弟好运。
-
感谢 Imran Naqvi;我在 SO 和其他地方看到了很多挫败感,尤其是在“重新发明框架”方面,虽然有些批评有时似乎适用,但如果我没有重新发明所有的东西,我永远不会理解我现在所理解的一半。我重新发明了:) 不过,我看不出很多负面反馈的原因。人们担心什么,太多的框架?我认为高效生产系统应该信任高效生产框架,但这不是踩别人学习的借口。看到鼓励真是令人耳目一新。
标签: php model-view-controller routing module