最好在 PHP (Symfony 2) 中传递完整的对象或只是一个必需的值?

Posted

技术标签:

【中文标题】最好在 PHP (Symfony 2) 中传递完整的对象或只是一个必需的值?【英文标题】:Better to pass complete object or just a required value in PHP (Symfony 2)? 【发布时间】:2013-11-08 20:54:56 【问题描述】:

我想问是传递一个完整的数组或对象来查看更好还是只传递一个必需的值?

例如,控制器正在渲染一些需要 2 个参数的视图:

client.id 和 client.name

现在,如果我将传递完整的客户端对象(可以有大量数据)或根本不传递,是否会对速度性能产生很大影响?

【问题讨论】:

【参考方案1】:

当你在现实中传递一个对象时,你传递的是对它的引用,它的大小是 32 位。

因此,如果您已经创建了对象,并且您只需要传递它的一些值以更好地查看以传递其引用而不是仅传递必需的值,那么您将只创建一个新变量而不是 x。

【讨论】:

【参考方案2】:

@Gustek 是对的,但数组也可以通过引用工作。 几年前我用 kohana codebench 做了一些测试,处理数据在数组中比在对象中更有效。 一个好的编码器只会传递所需的值......

【讨论】:

***.com/questions/2030906/… 一个好的程序员会避免使用“总是”这个词。控制器不需要知道视图正在做什么的细节。在控制器中提取单个值(通常)是一种糟糕的编程实践,如果视图决定它需要像 client.email 这样的东西,则需要更新控制器。 JeJe,相对于环境,我们“总是”购买弹性销售业绩。

以上是关于最好在 PHP (Symfony 2) 中传递完整的对象或只是一个必需的值?的主要内容,如果未能解决你的问题,请参考以下文章

CSRF 和 RESTful API (symfony2, php)

在 Symfony 4.4 流程组件中将参数作为数组传递

如何在Symfony2中将json渲染成树枝

如何在没有完整项目的情况下测试共享的 Symfony 2 Bundle

如何在`collection`字段Symfony 2.1中将选项传递给CustomType?

如何用php获取某个页面中的input的csrf