* @return mixed Constructed instance
*/
public static function constructClassInstance( $clazz, $args ) {
+ // $args should be a non-associative array; show nice error if that's not the case
+ if ( $args && array_keys( $args ) !== range( 0, count( $args ) - 1 ) ) {
+ throw new InvalidArgumentException( __METHOD__ . ': $args cannot be an associative array' );
+ }
+
// TODO: when PHP min version supported is >=5.6.0 replace this
- // function body with `return new $clazz( ... $args );`.
+ // with `return new $clazz( ... $args );`.
$obj = null;
switch ( count( $args ) ) {
case 0: