我想将数据传递给视图,我脑子里有两个选项(如果你知道更好的方法,请提及)。
我正在使用Zend_Based ORM系统,并且编码方式如果我在数据库中添加新字段,它在模型中自动可用。
1st:我将模型的数据转换为数组并将数组传递给视图。这样我将在视图中获得所有可用数据,但模型的功能/操作将不可用。并且我需要特定的功能,我将编写视图帮助程序,同时有可能在模型中已经编码了相同的功能。例如以特定格式获取日期
第二:或者我将完整的模型对象传递给视图,这样我将拥有所有模型的函数,但是视图将能够访问模型的保存功能,这是一件坏事。我可以在模型中添加更多功能以使其成为只读,但这将是额外的工作。
任何方法的建议都会更好。
答案 0 :(得分:1)
根据MVC原则,let the View allow access to the Model完全没问题。因此,将完整的模型传递给视图。
顺便说一句,传递数组会复制你的数据(按值),而传递对象则不会(通过引用)。 (假设PHP5)。大型阵列可能会影响您的性能。