php – 在方法/函数调用中将对象实例化为参数是不好的做法吗?

将对象实例化为参数是不好的做法吗?例如,这样做是不好的做法?

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
    ));

最佳答案 如果你在函数调用之外不需要它们,我会说你正确地将它们直接作为参数实例化.

点赞