Berkes
¿Hay algún tipo de NotImplementedError en PHP?
Quiero agregar esto a algunos métodos auxiliares e interfaces, para advertir a las clases que me amplían, todavía tienen trabajo por hacer. ¿O esto se logra de manera diferente en PHP?
phil
PHP no tiene un incorporado NotImplementedException
sin embargo, puede crear el suyo propio. Supongo BadMethodCallException
se acerca a lo que sería un candidato decente para la extensión
class NotImplementedException extends BadMethodCallException
{}
… y en tu método
public function notImplementedMethod()
{
throw new NotImplementedException();
}
También puedes simplemente hacer algo como esto.
throw new Exception('Not implemented');
-
Solo una mejora a la buena respuesta: use
\BadMethodCallException
y\Exception
(con barra invertida) si está utilizando espacios de nombres (PHP >= 5.3.0).– caligari
19 mayo 2015 a las 10:49
-
Una sugerencia:
NotImplementedException
debería extenderse\RuntimeException
– caligari
19 mayo 2015 a las 10:57
-
@Wirone A
RuntimeException
es un error “que solo se puede encontrar en tiempo de ejecución”. Para mí, está más cerca de unBadMethodCall
porque el autor debe saber que no debe llamar al método; es determinable antes del tiempo de ejecución.– Juan M.
15/09/2016 a las 19:07
-
Si el autor supiera no llamar a este método lanzar o extender
LogicException
Sería lo más lógico.– ceja blanca
4 de enero de 2018 a las 10:43
-
Este debate no tiene sentido. Las implementaciones pueden extender lo que quieran o simplemente arrojar un simple
Exception
. Es completamente una opinión basada en este punto.– Phil
14/02/2018 a las 20:20