Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<ReflectionClass::newInstanceReflectionClass::newInstanceWithoutConstructor>
^ReflectionClassLast updated: Mon, 26 Oct 2026

ReflectionClass::newInstanceArgs

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

ReflectionClass::newInstanceArgs — Creates a new class instance from given arguments

Description

public function ReflectionClass::newInstanceArgs(array $args = []): ?object

Creates a new instance of the class, the given arguments are passed to the class constructor.

Parameters

args

The parameters to be passed to the class constructor as an array.

If the keys of args are all numeric, the keys are ignored and each element is passed to the constructor as a positional argument, in order.

If any keys of args are strings, those elements are passed to the constructor as named arguments, with the name given by the key.

An Error is thrown if a numeric key in args appears after a string key, or if a string key does not match the name of any constructor parameter.

Return Values

Returns a new instance of the class, or null on failure.

Errors/Exceptions

A ReflectionException if the class constructor is not public.

A ReflectionException if the class does not have a constructor and the args parameter contains one or more parameters.

Changelog

Version Description
8.0.0 args keys will now be interpreted as parameter names, instead of being silently ignored.

Examples

Example #1 Basic usage of ReflectionClass::newInstanceArgs()

<?php
$class = new ReflectionClass('ReflectionFunction');
$instance = $class->newInstanceArgs(array('substr'));
var_dump($instance);
?>

The above example will output:

object(ReflectionFunction)#2 (1) {
  ["name"]=>
  string(6) "substr"
}

See Also


<ReflectionClass::newInstanceReflectionClass::newInstanceWithoutConstructor>
^ReflectionClassLast updated: Mon, 26 Oct 2026