no puedo entender por qué PhpStorm me da la siguiente advertencia PHPDoc comment does not match function or method signature
sobre este método:¿Por qué recibo una advertencia PHPDoc en PhpStorm sobre el código
/**
* Create a new instance of the class
* @param string $classname Class to instantiate
* @return object the instance
* @throw FactoryException If the class is not instantiable
*/
private function newInstance($classname) {
$reflectionClass = new \ReflectionClass($classname);
if (! $reflectionClass->isInstantiable()) {
throw new FactoryException("The class $classname is not instantiable.");
}
return new $classname;
}
La advertencia no es muy específico, no tengo intenté varias cosas como cambiar el tipo de devolución a "Objeto", "mezclar" o incluso "int" (intentar) pero no cambió. Cuál es el problema aquí ?
Intenté '@ throws', pero la advertencia todavía está allí (hice lo mismo que cuando escribí'/** 'pero incluso el docblock generado automáticamente tenía la advertencia). En realidad, tengo una versión beta de PhpStorm 4.0, ¿tal vez solo sea un error? –
Funky, sí, estoy usando 4.0 también. – MetalFrog
@Matthieu 1) Definitivamente debe ser ** throws ** 2) Hay algunos problemas con la versión actual de EAP v4 (116.101) en este sentido (estoy teniendo el mismo). Según lo que veo (basado en sus comentarios), esta función está en la clase que extiende otra clase o implementa la interfaz y esta función anula una en la clase/interfaz principal. Si es así, compare los bloques de PHPDoc para ellos, incluso si 1 carácter es diferente (por ejemplo, "Crear una nueva instancia ..." frente a "Crear nueva instancia ...") PhpStorm informará sobre dicho error. – LazyOne