我是否正确理解 MVC?
我已经阅读了用户 teresko 的许多帖子,我想我终于理解了现代 MVC 的真正概念。我制作了一个图表来说明我的理解方式,我希望有人可以为我确认这一点,也许这个图表会帮助其他一些用户。
我计划的目录结构“聪明”吗?
我也想进入文件夹结构。我不太确定我是否计划使用一种非常智能/有效的方式来构建它们。在我的根目录中,我有 4 个文件夹。模型文件夹 包含 3 个子目录,分别称为data_mappers、domain_objects和services。演示文件夹包含 2 个自然称为视图和控制器的子目录。我的根目录中的第 3 个文件夹是我不太确定的名为lib的文件夹之一,它包含另外 3 个子文件夹、脚本、主题和模板(这是视图调用模板的好地方吗?)。我拥有的最后一个文件夹称为config(如果有人能想到更好的名称,欢迎提出建议)。这是我将放置路由器和基类以及该类型的任何文件的地方。我不只是为我的框架寻求功能,我希望它在技术上是合理的,欢迎任何建议/建议,我想在开始制作索引和路由器之前确保我的理解是正确的等等我不必重新开始。谢谢
这是在 MVC 中实现多语言支持的好方法吗?
(有点题外话,但我需要将其纳入规划我的 MVC 框架,它可能对其他用户有帮助,并且为了清楚简洁地回答问题,需要了解网站的结构,它恰好是上面有详细描述)
我的网站必须提供英文和法文版本,而我恰好会说这两种语言。我计划在模板文件夹中再创建两个子文件夹,一个名为en和另一个fr,只需将所有英文模板放在 en 文件夹中,然后将它们翻译成法语并将它们放在 fr 文件夹中并设置网站,以便 www .mywebsite.com/en/home 以英语显示模板,www.mywebsite.com/fr/home 以法语显示模板。
将有一个主语言选择页面,将您重定向到 en 或 fr。然后,我计划将 2 个字母的语言代码存储在 $_SESSION 变量中。视图将使用这个 $_SESSION 变量来选择要显示的模板。这是我在旧版网站上的做法。这是在 MVC 中实现多语言支持的好方法还是有更好的方法?
如果我想让网址也出现在法语中怎么办?如果我将视图文件放在更多子文件夹中,而不是像这样命名它们:“/presentation/views/news/news.php”,像这样命名它们:“/pre sentation/views/news_nouvelles/news.php”,然后制作路由器(网址和路由是我的弱点之一,但我会自己学习;)将“_”之前的所有内容存储在对应于英文 url 的变量中,并将所有内容存储在对应于法文 url 的变量中。这只是一个理论,我还没有尝试过最后一段中的内容,多语言支持更多的是讨论而不是问题,尽管再一次,它是相关的,因为需要对我的框架有透彻的理解才能回答/讨论语言支持。