conversion objet en string
bonjour, je sollicite votre aide.
J'ai décidé de créer une classe pour créer mes <input> plus facilement.
Voici le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| <?php
class Form
{
private $_type;
private $_id;
private $_name;
private $_classCSS;
private $_placeholder;
private $_title;
public function __construct($type,$id,$name,$classCSS,$placeholder,$title)
{
$this->_type = $type;
$this->_id = $id;
$this->_name = $name;
$this->_classCSS = $classCSS;
$this->_placeholder = $placeholder;
$this->_title = $title;
echo '<input type="'.$type.'" id="'.$id.'" class="'.$classCSS.'" placeholder="'.$placeholder.'" title="'.$title.'" >' ;
}
public function setType($type)
{
$this->_type = $type;
}
public function setId($id)
{
$this->_id = $id;
}
public function setName($name)
{
$this->_name = $name;
}
public function setClassCSS($classCSS)
{
$this->_classCSS = $classCSS;
}
public function setPlaceholder($placeholder)
{
$this->_placeholder = $placeholder;
}
public function setTitle($title)
{
$this->_title = $title;
}
} |
ensuite dans mon index.php, j'appelle la classe ainsi que mon input généré dynamiquement,
Code:
1 2 3 4
| <?php
include 'class/Form.php';
$form01 = new Form('text','form01Id','form01Name','form form-control','Votre nom:','Ecrivez votre nom.');
?> |
Tout fonctionne correctement, cependant il est apriori pas bon de mettre des "echo" dans une classe, je remplace donc:
Code:
echo '<input type="'.$type.'" id="'.$id.'" class="'.$classCSS.'" placeholder="'.$placeholder.'" title="'.$title.'" >' ;
par
Code:
return '<input type="'.$type.'" id="'.$id.'" class="'.$classCSS.'" placeholder="'.$placeholder.'" title="'.$title.'" >' ;
Comment générer mon input maintenant?
En me renseignant sur internet, on entend parler de la fonction magique __toString() mais je n'arrive pas à l'intégrer à ma classe.
Merci d'avance pour votre aide.