Je travaille dans ce tutoriel: http://www.killerphp.com/tutorials/object-oriented-php/php-objects-page-3.phpdébut oop php question: les constructeurs prennent-ils la place du getter?
Au début, il vous a créer un setter et méthode de lecture dans la classe:
<?php
class person{
var $name;
function set_name($new_name){
$this->name=$new_name;
}
function get_name(){
return $this->name;
}
}
php?>
Et puis vous créez l'objet et l'écho des résultats:
<?php
$stefan = new person();
$jimmy = new person();
$stefan ->set_name("Stefan Mischook");
$jimmy ->set_name("Nick Waddles");
echo "The first Object name is: ".$stefan->get_name();
echo "The second Object name is: ".$jimmy->get_name();
?>
Fonctionne comme prévu, et je comprends.
Puis il introduit les constructeurs:
class person{
var $name;
function __construct($persons_name) {
$this->name = $persons_name;
}
function set_name($new_name){
$this->name=$new_name;
}
function get_name(){
return $this->name;
}
}
et retourne comme ceci:
<?php
$joel = new person("Joel");
echo "The third Object name is: ".$joel->get_name();
?>
Tout cela est bien et a du sens.
Puis j'ai essayé de combiner les deux et j'ai eu une erreur, donc je suis curieux: est-ce qu'un constructeur prend toujours la place d'une fonction "get"? Si vous avez un constructeur, avez-vous toujours besoin d'inclure un argument lors de la création d'un objet?
donne des erreurs:
<?php
$stefan = new person();
$jimmy = new person();
$joel = new person("Joel Laviolette");
$stefan ->set_name("Stefan Mischook");
$jimmy ->set_name("Nick Waddles");
echo "The first Object name is: ".$stefan->get_name();
echo "The second Object name is: ".$jimmy->get_name();
echo "The third Object name is: ".$joel->get_name();
?>
Cool. Je comprends ça. Merci! – Joel