0

网站的新手。有一个快速的问题。

在需要时调用或将对象加载到一个文件中是安全的,例如:

对象.php

<?php
require 'autoload.php';

//create global objects
$obj = new Object();
$obj2 = new User();
$obj = new Bus();
?>

头文件.php

<?php
require 'objects.php';

echo 'Hello ' . $obj2->getName();
?>

提前致谢。

4

2 回答 2

1

仅在需要时实例化对象会更聪明。创建对象需要一些时间和一些内存。当您稍后回来更改某些内容时,您还希望能够准确地知道在您来的任何给定执行点正在使用哪些对象。

如果你实例化一堆你不需要的对象,你不可避免地会发现自己想要做出改变,但不得不花时间弄清楚你是否已经使用过 $obj2 或者在第 350 行开始使用它是否安全. 如果你不为你的对象命名更具描述性,你还会发现你会重用变量名,当你的对象没有按照你期望的方式运行时,这会引起混乱。例如,在您的代码中,$obj 是总线,而不是对象。如果你期待一个对象,你会感到困惑。

于 2012-06-25T21:42:26.870 回答
0

如果您不需要该对象,则不应加载它。但是,我猜您正在尝试创建一些全球信息存储,并且我假设您需要这种方式。话虽如此,使用静态对象会是一个更好的主意,这样您就不会遇到范围问题。

静态对象通常不会被实例化,只会像这样使用:

User::setName('Bob');
echo 'Hello ' . User::getName();
于 2012-06-25T21:53:19.060 回答