Я просто экспериментирую с программированием ООП Я пытаюсь создать класс формы. Я не могу напечатать этот флажок, как я могу проверить, где все идет дальше?Basic OOP PHP form class
require_once('form.php');
$gender = new Checkbox('Please select your gender','gender',array('male','female'));
echo $gender->show_checkbox();
Файл с классом:
class Inputfield{
public $id;
public $options_array;
public $question;
public $type;
function __construct($newquestion,$newid,$newoptions_array){
$this->question=$newquestion;
$this->id=$newid;
$this->type="txt";
$this->options_array=$newoptions_array;
}
public function show_options($options_arr,$type,$id,$classes){
$output="";
foreach($options_arr as $option){
$output.="<label for=\"".$option."\"></label><input name=\"".$option."\" type=\"".$type."\" id=\"".$id."\" class=\"".$classes."\">";
}
return $output;
}
public function show_question(){
$output="<h3 class='question'>".$this->vraag."</h3>";
return $output;
}
}
class Checkbox extends Inputfield{
function __construct($newquestion,$newid,$newoptions_array){
$this->question=$newquestion;
$this->id=$newid;
$this->type="checkbox";
$this->options_array=$newoptions_array;
}
public function show_checkbox(){
$output=show_question();
$output.=show_options($this->options_array,'checkbox',$this->id,'class');
return $output;
}
}
Что можно сказать об установке error_reporting и display_errors ini? – bwoebi
Как один совет, я думаю, вы должны переименовать свой метод 'show_checkbox()' в нечто более общее, например 'render()', а также написать метод 'render()' для класса InputField. Это позволит вам расширить InputField в таком количестве классов, сколько вы хотите, и перебрать множество объектов, наследующих от InputField, и вызвать их метод «render()», не зная, что они на самом деле. Изучите [полиморфизм] (http://en.wikipedia.org/wiki/Polymorphism_%28computer_science%29) для получения дополнительной информации об этом. –