我想将数据传递给视图,我有两个选择(如果您知道更好的方法,请提及)。
我正在使用 Zend_Based ORM 系统,并且以一种方式编码,如果我在数据库中添加一个新字段,它会自动在模型中可用。
第一个:我将模型的数据转换为数组并将数组传递给视图。这样,我将在视图中获得所有可用数据,但模型的功能/操作将不可用。如果我需要特定的功能,我将编写视图助手,而模型中可能已经对相同的功能进行了编码。例如,以特定格式获取日期。
第二:或者我将完整的模型对象传递给视图,这样我将拥有模型的所有功能,但视图将能够访问模型的保存功能,这是一件坏事。我可以在模型中添加更多功能以使其成为只读,但这将是额外的工作。
任何建议哪种方法更好。
问问题
88 次
1 回答
1
根据 MVC 原则,让 View 允许访问 Model 是完全可以的。因此,将完整的模型传递给视图。
顺便说一句,传递数组将复制您的数据(按值),而传递对象则不会(通过引用)。(假设 PHP5)。大型阵列可能会影响您的性能。
于 2010-11-25T19:13:42.503 回答