我的问题是关于我正在做的事情是否正确,或者它是否会导致安全/性能问题。
我使用 $GLOBALS 数组,并用数据库中的大量值填充它,例如(页面标题、用户信息、模板信息...等),以便我的所有 php 文件都可以访问此信息。我遵循 MVC 设计模式,所以这就是我的 View 文件访问模型文件中生成的信息的方式。
如果这不是做事的正确方法,请告诉我为什么,什么是正确的方法。
谢谢
最佳答案
您没有遵循 MVC 模式,您只是使用全局变量在“无共享”架构中的“全部共享”脚本中显示某些内容。
执行输出可能意味着您得到某事的 View ,但通常这不会与 MVC 的术语 View 混用(模型- View - Controller )模式。您所做的,模板化 或输出 可能是更好的措辞。
If this is not the proper way to do things, please tell me why, and what is the proper way.
如果你想实现 MVC 模式,那么这可能就是你所指的 MVC:
- 模型:您的文件系统和数据库
- 查看:您的 HTML 输出 + CSS + JS
- Controller :您的 PHP 脚本
MVC 只是一种模式。您可以像感觉良好一样实现它。你可以在很多没有实现的东西中找到它。这只是一个模式。
但更准确地说,MVC 模式更常见于它的面向对象实现。您的实现与面向对象的实现完全不同,您使用的是全局状态而不是对象实例。
但是您没有在问题中写下您考虑过实现面向对象的 MVC 模式并且您使用的模板脚本是其中的一部分。
根据要实现的需求,像您那样做是完全正确的。
MVC 只是一种模式。它有利有弊。它有好处,也有后果。这只是一个模式。
特别是如果您担心性能,请不要让事情变得更复杂,例如加载完整的对象树以仅显示 HTML 模板中的一些变量。
关于PHP 最佳实践 : Im loading the $GLOBALS array with a lot of information to be shared between my php pages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6743831/