Testuje poniższy kod:
Kod
<?php
class osoba
{
public $imie;
public $nazwisko;
public function __construct($imie, $nazwisko)
{
$this -> ustawPersonalia($imie, $nazwisko);
} // end __construct();
public function ustawPersonalia($imie, $nazwisko)
{
$this -> imie = $imie;
$this -> nazwisko = $nazwisko;
} // end ustawPersonalia();
public function personalia()
{
return $this -> imie.' '.$this -> nazwisko;
} // end personalia();
}
$osoba = new osoba('Adam', 'Kowalski');
echo $osoba -> personalia();
?>
class osoba
{
public $imie;
public $nazwisko;
public function __construct($imie, $nazwisko)
{
$this -> ustawPersonalia($imie, $nazwisko);
} // end __construct();
public function ustawPersonalia($imie, $nazwisko)
{
$this -> imie = $imie;
$this -> nazwisko = $nazwisko;
} // end ustawPersonalia();
public function personalia()
{
return $this -> imie.' '.$this -> nazwisko;
} // end personalia();
}
$osoba = new osoba('Adam', 'Kowalski');
echo $osoba -> personalia();
?>
Wynik to 'Adam Kowalski', ale co ciekawe jak zmieniam ten wiersz:
Kod
return $this -> imie.' '.$this -> nazwisko;
na taki:Kod
return $this -> nazwisko.' '.$this -> imie;
to wyświetla mi 'Kowalski Adam', a myślałem że wyrzuci błąd.
Myślałem że to zależy od tego w jakiej kolejności zadeklaruje odwołanie:
Kod
$this -> imie = $imie;
$this -> nazwisko = $nazwisko;
$this -> nazwisko = $nazwisko;
czyli musi być najpierw imię, a później nazwisko, a tu się okazuje, że nie.
Jak wpisuję nazwisko dwukrotnie po "return $th ..." to dwa razy wyświetla nazwisko 'Kowalski Kowalski'.
Z czego to wynika?