Hola amigos nuevamente, tengo este codigo lo e recontra revisado pero hasta el momento no veo cual es el error weno lo que imprime es frutas:y un combo vacio nada mas, realmente me gustaria que me ayudaran a vieran donde esta este error.
<?php //archivo se llama clases.php
class Select extends Element{
protected $options;
public function _construct(){
parent::_construct();
$this->options=array();
}
public function creaOption($option){
$this->options[]=$option;
}
private function traeOptions(){
return (array)$this->options;
}
public function render(){
echo $this->traeLabel().":<br/>\n";
echo "<select name=\"".$this->traeName()."\">\n";
foreach ($this->traeOptions() as $opt){
echo $opt->render();
//echo $this->traeOptions();
}
echo "</select>";
}
}
class Option extends Element{
public function _construct($value,$label){
parent::_construct();
$this->creaValue($value);
$this->creaLabel($label);
}
public function render(){
echo "<option value=\"".$this->traeValue()."\">".$this->traeLabel()."</option>\n";
}
}
class Element{
private $name;
private $value;
private $label;
public function _construct(){ }
public function creaName($name){
$this->name=$name;
}
public function traeName(){
return $this->name;
}
public function creaValue($value){
$this->value=$value;
}
public function traeValue(){
return $this->value;
}
public function creaLabel($label){
$this->label=$label;
}
public function traeLabel(){
return $this->label;
}
}
?>
<?php
include ('clases.php');
$frutas=new Select();
$frutas->creaLabel('Frutas');
$frutas->creaName('frut_sel');
$frutas->creaOption(new Option('Naranjas','Naranjas'));
$frutas->creaOption(new Option('Fresas','Fresas'));
$frutas->creaOption(new Option('Piñas','Piñas'));
$frutas->creaOption(new Option('Plátanos','Plátanos'));
$frutas->creaOption(new Option('Manzanas','Manzanas'));
$frutas->render();
?>
ojala que me ayuden con esto.