ich dieses Tutorial arbeiten: http://www.killerphp.com/tutorials/object-oriented-php/php-objects-page-3.phpanfang oop php frage: nehmen Konstruktoren den Platz des Getters?
Zuerst hat er Ihnen einen Setter und Getter-Methode in der Klasse erstellen:
<?php
class person{
var $name;
function set_name($new_name){
$this->name=$new_name;
}
function get_name(){
return $this->name;
}
}
php?>
Und dann erstellen Sie das Objekt und Echo die Ergebnisse:
<?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();
?>
Funktioniert wie erwartet, und ich verstehe.
Dann führt er Bauer:
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;
}
}
und kehrt in etwa so:
<?php
$joel = new person("Joel");
echo "The third Object name is: ".$joel->get_name();
?>
Das alles in Ordnung ist und Sinn macht.
Dann habe ich versucht, die beiden zu kombinieren und habe einen Fehler, so bin ich neugierig - ist ein Konstruktor immer an die Stelle einer "get" -Funktion? Wenn Sie einen Konstruktor haben, müssen Sie beim Erstellen eines Objekts immer ein Argument einfügen?
Gewährt Fehler:
<?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. Ich verstehe das. Vielen Dank! – Joel