Cita:
Iniciado por Italico76
Public function getNombre(){
return $this->nombre;
}
Public function geFuente(){
return $this->fuente;
}
... luego haces:
echo getNombre();
echo getFuente();
No debe haber variables publicas ya que si quieres acceder a un atributo lo haces a traves de los metodos (publicos) correspondientes. Asi ocultas la implementacion y la proteges.
Lee sobre encapsulamiento y data hidding
Gracias eso me funciono a la primera pero lo que no agrada es que tengo que hacer una metodo para darle salida a cada dato individualmente.
Implemente esto con el codigo que posteo GatorV:
Código PHP:
<?php
class Ingrediente {
private $_datos = array();
public function __construct ($nombre, $fuente, $energia, $proteina, $grasa_total, $colesterol, $hidratos_carbono, $sodio) {
$this->_datos['nombre'] = $nombre;
$this->_datos['fuente'] = $fuente;
$this->_datos['energia'] = $energia;
$this->_datos['proteina'] = $proteina;
$this->_datos['grasa_total'] = $grasa_total;
$this->_datos['colesterol'] = $colesterol;
$this->_datos['hidratos_carbono'] = $hidratos_carbono;
$this->_datos['sodio'] = $sodio;
}
public function __get($dato) {
return $this->_datos[$dato];
}
}
$ingrediente = new Ingrediente('Azucar', 'USDA', '1', '2', '3' ,'4', '5', '6');
echo $ingrediente->sodio;
?>
No logro encontrar algo que explique el guion abajo en private $_datos = array();
solo que es una forma valida de declarar una variable pero si le saco el guion bajo no funciona.
Gracias y saludos.