Другой способ достижения того же результата, но с динамическими аргументами, заключается в следующем.Пожалуйста, рассмотрите класс ниже как класс, который вы хотите создать.
<?php
// test.php
namespace Acme\Bundle\MyBundle;
class Test {
public function __construct($arg1, $arg2) {
var_dump(
$arg1,
$arg2
);
}
}
И затем:
<?php
require_once('test.php');
(new ReflectionClass('Acme\Bundle\MyBundle\Test'))->newInstanceArgs(['one', 'two']);
Если вы не используете последнюю версию PHP, пожалуйста, используйте следующий кодкоторая заменяет последнюю строку примера выше:
$r = new ReflectionClass('Acme\Bundle\MyBundle\Test');
$r->newInstanceArgs(array('one', 'two'));
Код выдаст следующий вывод:
string(3) "one"
string(3) "two"