/** * Instantiate a class instance based on the given configuration. * * @param array $config The configuration array * * @return BuiltinClass|CustomClass */ protected function instantiateClass(array $config) { if (in_array($config['name'], BuiltinClass::$classNames, true)) { $class = new BuiltinClass(); } else { $class = new CustomClass(); } $class->setDatabase($this->database); $class->setData($config); return $class; }