为什么在CodeIgniter中不鼓励在数组中传递数据?

Rah*_*hul 2 php oop codeigniter

我来自Java背景,最近才开始学习PHP和CodeIgniter.

虽然我发现该框架的清晰设计和令人印象深刻的文档非常棒,但我注意到框架并不一定阻止使用数据数组而不是值对象来传递数据.例如,数据库查询将结果返回到一个数组中,然后您可以将该数组传递给视图进行渲染.类似地,大多数核心库方法将关联数组作为输入.

对我来说,这对于面向对象的语言来说似乎是一个糟糕的设计,它应该促进甚至可以强制使用值对象来实现封装的明显好处.

这真的是糟糕设计的一个例子,还是仅仅是风格/偏好的问题?通过更多OO方法使用数组数据有什么明显的好处吗?

Lig*_*ica 8

不要误以为"一切都必须成为一个对象"的神话,因为你的代码是"良好的面向对象设计".当你开始尝试制定"我不应该被允许这样做的理性化,因为它不是好的OOP"时,你就是在向后编程.

如果需要数据列表,数据数组就足够了.确实,这是合适的.