2011-11-11 10 views
43

¿Hay algún tipo de NotImplementedError en PHP?¿Lanzar un NotImplementedError en PHP?

Quiero agregar esto a algunos de los métodos y las interfaces, a fin de advertir a las clases que me extienden, todavía tienen trabajo por hacer. ¿O esto se logra de manera diferente en PHP?

Respuesta

68

PHP no tiene incorporado NotImplementedException, pero puedes crear el tuyo propio. Supongo BadMethodCallException se acerca lo que sería un candidato decente para la extensión

class NotImplementedException extends BadMethodCallException 
{} 

... y en su método de

public function notImplementedMethod() 
{ 
    throw new NotImplementedException(); 
} 

Puede también muy simplemente hacer algo como esto

throw new Exception('Not implemented'); 
+4

Justo una mejora de la buena respuesta: use '\ BadMethodCallException' y' \ Exception' (con _backslash_) si está usando espacios de nombres (PHP> = 5.3.0). – caligari

+3

Una sugerencia: 'NotImplementedException' debería extender [' \ RuntimeException'] (https://php.net/manual/en/class.runtimeexception.php) – caligari

+1

@caligari ¿Puedes explicar por qué? –

Cuestiones relacionadas