将对象实例化为参数是不好的做法吗?例如,这样做是不好的做法吗?
myFunction(new Foo);
或者你总是这样做:
$foo = new Foo;
myFunction($foo);
我的具体情景..
我问,因为我需要将许多新对象传递给方法以注册"一堆插件。它有点像这样:
$imagePlugin = new ImagePlugin;
$videoPlugin = new VideoPlugin;
$audioPlugin = new AudioPlugin;
$myLibrary->registerPlugins(array(
$imagePlugin,
$videoPlugin,
$audioPlugin
));
我想知道根据最佳做法是否可以将其缩短为以下代码:
$myLibrary->registerPlugins(array(
new ImagePlugin,
new VideoPlugin,
new AudioPlugin
));
答案 0 :(得分:2)
如果你在函数调用之外不需要它们,我会说你正确地将它们作为参数直接实例化。