No es realmente un problema, más como curiosidad de mi parte, sino como un ejemplo, decir que tengo una clase php:
class baseTestMain
{
protected function testFunction()
{
echo 'baseTestMain says hi';
}
}
y otra clase que se extiende desde la clase anterior:
class aSubClass extends baseTestMain
{
public function doingSomething()
{
parent::testFunction();
//someextrastuffhere
}
}
Normalmente , cuando quiero llamar a un método principal cuando defino un nuevo método en la subclase, haré lo anterior - parent::methodnamehere()
, sin embargo, en lugar de parent::
también puede usar $this->methodname()
y la operación sería la misma.
class aSubClass extends baseTestMain
{
public function doingSomething()
{
$this->testFunction();
//someextrastuffhere
}
}
Así que lo que te pido es, debo usar o usar parent::testFunction();
$this->testFunction();
? o hay alguna diferencia que me he perdido? Si no, ¿cuál es su preferencia o el método preferido?
Tenga en cuenta que no estoy reemplazando o ampliando esa función en la subclase, esencialmente la implementación se lleva a cabo desde el principal.
"Tenga en cuenta que no estoy anulando ni ampliando esa función en la subclase, esencialmente la implementación se lleva a cabo desde el principal". –
@Ignacio Vazquez-Abrams: Gracias, agregué otro párrafo al principio que responde la pregunta. Supongo que mi ejemplo es irrelevante, así que lo descarté. – BoltClock
@Aesphere, teniendo en cuenta la legibilidad y el concepto, esta es la mejor respuesta. –