czy w PHP słowo kluczowe $this ma inne znaczenie lub inaczej się zachowuje niż w innych językach, np. C# i Javie?
tak sobie testuję i nie mogę zrozumieć , dlaczego zmusza się programistę do tak częstego używania tego obiektu
O ile np. w C# mogę sobie napisać bardzo przejrzyście bez użycia this, po prostu klasa widzi że to są jej zmienne
class Program
{
static void Main(string[] args)
{
Person p = new Person("Jan", "Kowalski");
p.Show();
Console.ReadLine();
}
}
class Person
{
private string name;
private string surname;
public Person(string n, string sn)
{
name = n;
surname = sn;
}
public void Show()
{
Console.WriteLine(name + " " + surname);
}
}
o tyle w php muszę tymi thisami rzucać na prawo i lewo, przez co kod jest dla mnie mniej czytelny
<?php
class Person
{
private $name;
private $surname;
public function __construct ($n, $sr)
{
$this->name = $n;
$this->surname = $sr;
}
public function Show()
{
echo $this->name." ".$this->surname;
}
}
$p = new Person("Jan", "Kowalski");
$p->Show();
?>
w c# mogę zrobić np. coś takiego i kod działa, po prostu programista sam decyduje kiedy użyć tego obiektu (przeważnie się go używa, kiedy parametry funkcji mają tę samą nazwę albo jeszcze do przekazania "tej" klasy)
public Person(string n, string sn)
{
this.name = n;
surname = sn;
}
public void Show()
{
Console.WriteLine(name + " " + this.surname);
}