En se référant à cette question: https://stackoverflow.com/questions/2035449/why-is-oop-hard-for-me
class Form
{
protected $inputs = array();
public function makeInput($type, $name)
{
echo '<input type="'.$type.'" name="'.$name.'">';
}
public function addInput($type, $name)
{
$this->inputs[] = array("type" => $type,
"name" => $name);
}
public function run()
{
foreach($this->inputs as $array)
{
$this->makeInput($array['type'], $array['name'];
}
}
}
$form = new form();
$this->addInput("text", "username");
$this->addInput("text", "password");**
Puis-je obtenir une meilleure explication de ce que l'$this->input[]
fait dans cette partie:
public function addInput($type, $name)
{
$this->inputs[] = array("type" => $type,
"name" => $name);
}
Je pense que je comprends, mais pourquoi puis-je simplement appeler la fonction comme 'functionname()'? Pourquoi dois-je utiliser la référence la référence à l'instance? – Strawberry
Parce que toutes les fonctions de la classe fonctionnent ensemble. J'ai obtenu le mien plutôt avancé de la classe avec un support de validation, etc. et là je profite vraiment des varibles qui sont accessibles par toutes les fonctions de la classe. C'est beaucoup moins compliqué, je peux écrire $ form-> Validate(); et il retournera true si le formulaire valide toutes les règles que j'ai configurées avec $ form-> Rule() sans passer de varible à Validate. Vous pouvez également avoir plusieurs instances de l'objet avec des données différentes qui peuvent être utiles. – Hultner