Tengo una clase padre y una subclase, la clase padre tiene un constructer que establece un var
y me gustaría usar ese var
en la subclase, lo tengo funcionando pero me confundo con la palabra clave parent
?¿Accediendo a una variable de los padres de la subclase php y la palabra clave principal?
Ejemplo
class Sub extends Parent {
public function foo() {
echo $this -> myVar;
}
}
class Parent {
var $myVar;
public function __construct() {
$this -> myVar = 'a';
}
}
Esto funcionó y me da el valor de myVar
, pero se supone que voy a estar usando la palabra clave parent
y cuando lo hago me sale un error, ejemplo,
class Sub extends Parent {
public function foo() {
echo parent -> myVar;
}
}
class Parent {
var $myVar;
public function __construct() {
$this -> myVar = 'a';
}
}
Ye Estoy usando php 5.3 gracias por la información :) – hadley
¿Por qué dice en el manual usar la palabra clave 'parent' cuando se accede a la clase padre? ¿Cómo es que no tengo que usarlo aquí? Gracias otra vez amigo – hadley
Solo necesitas usar 'parent ::' cuando accedes a los métodos de la clase base o variables estáticas de la clase base. Si intenta acceder a una variable no estática de la clase base, obtendrá un error "Acceso a la propiedad estática no declarada" error fatal: 'Marque esta respuesta como respuesta si esta respuesta lo ayudó :-) –