1. Jeżeli zmienna reprezentuje nazwę klasy to można za jej pomocą zrobić obiekt np.
<?php
class Foo
{
public function test()
{
return 'abc';
}
}
$a = 'Foo';
$b = new $a();
Ewentualnie coś takiego można zrobić też na klasie anonimowej
<?php
$a = new class{
public function test()
{
echo 'test';
}
};
$b = new $a();
2. Wywołujesz metodę klasy gdzie nazwę metody reprezentuje zmienna $url[1]. Przykład:
$a = new class{
public function test()
{
echo 'test';
}
};
$a->{$url[1]}();
class abc{
public function test()
{
echo 'test';
}
}
$b = new abc();
$b->{$url[1]}();
3. Zmienna w metodzie w tym przypadku zmienna $arg nie jest wymagana jeżeli nie zostanie ona podana domyślnie przyjmie wartość false
<?php
class Foo{
public function wyswietl($a)
{
echo $a;
}
}
$a = new Foo();
$a->wyswietl();
Powyższy kod wyświetli błąd, ponieważ w metodzie wyswietl wymagana jest zmienna $a
<?php
class Foo{
public function wyswietl($a = 'brak zmiennej')
{
echo $a;
}
}
$a = new Foo();
$a->wyswietl();
Wyświetli 'brak zmiennej', ponieważ domyślnie zmienna $a ma przyjąć właśnie taką wartość
<?php
class Foo{
public function wyswietl($a = 'brak zmiennej')
{
echo $a;
}
}
$a = new Foo();
$a->wyswietl('jest zmienna');
Wyświetli 'jest zmienna', ponieważ podaliśmy zmienną dla metody wyswietl, więc domyślna wartość została zignorowana
4. Uruchamia konstruktor klasy dziedziczącej np.
<?php
class b{
public function __construct()
{
echo 'konstruktor klasy b';
}
}
class a extends b{
public function __construct()
{
echo 'konstruktor klasy a'.PHP_EOL;
parent::__construct();
}
}
$a = new a();
Wynik:
konstruktor klasy a
konstruktor klasy b
Też dopiero się uczę, więc jeżeli gdzieś popełniłem błąd proszę mnie poprawić :)