variable de llamada php oop de la clase [cerrado]
Frecuentes
Visto 878 veces
-6
¿Cómo puedo llamar a una variable que está dentro de una clase a otro ejemplo de archivo:
controller.php
<?php
class hello {
public $var = 1;
public function a(){
......
}
public function b(){
.....
}
}
?>
index.php
<?php
$hello = new hello;
//how to call the $var ? HERE
?>
2 Respuestas
5
Así:
$hello->var = 2
O para recuperar el valor:
$val = $hello->var;
contestado el 22 de mayo de 12 a las 18:05
3
If var
es público puedes hacer esto:
$hello->var = $value;
$value = $hello->var;
Por lo general, no desea acceder directamente a los miembros de la clase. Podrías hacer getters y setters:
class hello{
private $var;
...
function getVar(){
return $var;
}
function setVar($value){
$var = $value;
}
}
Entonces puedes hacer esto:
$hello->getVar();
$hello->setVar($newVarValue);
PHP también tiene funciones mágicas __get() y __set() que permiten el acceso a miembros inaccesibles. Esto es básicamente lo mismo que getter y setter, pero puede salirse con la suya con una función en lugar de múltiples funciones para cada miembro (aunque puede complicarse si no se mantiene correctamente).
Así que en tu clase puedes hacer esto:
class hello{
private $var;
...
function __get($name){
if($name == 'var')
return $var;
}
function __set($name, $value){
if($name == 'var')
$var = $value;
}
}
pero aún puede acceder a los miembros de esta manera:
$hello->var = $value;
$value = $hello->var;
aunque $var
es privado.
contestado el 22 de mayo de 12 a las 18:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas php oop class getter-setter or haz tu propia pregunta.