I'm working through this tutorial: http://www.killerphp.com/tutorials/object-oriented-php/php-objects-page-3.php
İlk başta o sınıfın bir belirleyici ve alıcı yöntemi oluşturmak etti:
<?php
class person{
var $name;
function set_name($new_name){
$this->name=$new_name;
}
function get_name(){
return $this->name;
}
}
php?>
Ve sonra nesne oluşturmak ve sonuçları echo:
<?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();
?>
Beklendiği gibi çalışır, ve anlıyorum.
Sonra Kurucular tanıttı:
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;
}
}
Ve şöyle verir:
<?php
$joel = new person("Joel");
echo "The third Object name is: ".$joel->get_name();
?>
Bu tüm iyi ve mantıklı.
Sonra ikisini birleştirmek için çalıştı ve bir hata var, bu yüzden her zaman bir "olsun" fonksiyonunun yer alan bir kurucu meraklı-bir ben? Eğer bir kurucu varsa bir nesne oluştururken, her zaman bir argüman dahil etmek gerekiyor?
Hatalar veriyor:
<?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();
?>