ReflectionClass::newInstance

(PHP 5, PHP 7, PHP 8)

ReflectionClass::newInstanceBelirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur

Açıklama

public ReflectionClass::newInstance(mixed $bağımsız_değişkenler): object

Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur. Belirtilen bağımsız değişkenler sınıf kurucusuna aktarılır.

Bağımsız Değişkenler

bağımsız_değişkenler

call_user_func() işlevindeki gibi işleve istenen sayıda bağımsız değişken aktarılabilir.

Dönen Değerler

Hatalar/İstisnalar

Sınıfın kurucusu public değilse bir ReflectionException yavrulanır.

Sınıfın bir kurucusu yoksa ve bağımsız_değişkenler bir veya daha fazla bağımsız değişken içeriyorsa bir ReflectionException yavrulanır.

Ayrıca Bakınız

add a note add a note

User Contributed Notes 1 note

up
-7
glen at delfi dot ee
9 years ago
looks like reflection class newInstance creates in memory representation of code where values are used, so using reference as constructor signature, you can not use this method.

as  the same input if called via new, or new $class works, but not via reflection:

class a {
     public function __construct(&$a, $c) {
     }
}

// this works
$A = new stdClass();
$a = new a($A, 11);

// also this works
$classname = "a";
$a = new $classname($A, 10);

// but this fails:
$r = new ReflectionClass("a");
$r->newInstance($A, 10);

PHP Warning:  Parameter 1 to a::__construct() expected to be a reference, value given in reflection.php on line 15

PHP Warning:  ReflectionClass::newInstance(): Invocation of a's constructor failed in reflection.php on line 15
To Top