我很抱歉,如果这更像是一个理论问题,而不是现实生活中的问题,但对我来说这是一个现实生活中的情况。我们正在评论PHP与vars一起工作的方式,以及由于它的“混合变量”和我发生的事情,服务器上的内存如何重 - 为什么不从一开始就进行类型转换?
所以我想我的问题是:如果所有的PHP变量都是“预先投放”的,那么服务器负载会有什么不同吗?
示例:
protected $_id;
VS protected (int) $_id;
答案 0 :(得分:6)
这个问题没有任何意义,因为你提出的想法甚至不会在PHP 5中编译。在括号内写一个类型会将类型转换为括号中的类型。即使它确实编译了它也不会在变量声明中做任何事情。
你怎么知道由于动态打字导致内存繁重?当然有开销,但还有很多其他的东西可能会导致内存使用,而不是所有内容都不好。例如,在很多情况下,虚拟机将占用比堆中所需的内存更多的内存,以加快内存分配。 PHP过程也是如此。