PHP wydaje się prosty na początku, ale większość błędów w realnych projektach wynika z niezrozumienia trzech rzeczy:
czym jest
czym jest
czym jest obiekt vs zmienna
To są fundamenty OOP (programowania obiektowego).
🔹 1. Co oznacza
“ten konkretny obiekt, w którym aktualnie jestem”
Czyli odnosi się do metod i właściwości wewnątrz klasy.
📌 Przykład:
🔥 Co się tu dzieje?
📌 użycie:
🧠 Najprostsza definicja:
👉
🔹 2. Co oznacza
Operator
dostępu do właściwości lub metod obiektu
📌 przykład:
🔥 tłumaczenie:
🧠 Najprostsza definicja:
👉
🔹 3. Obiekt vs zmienna
❌ zwykła zmienna:
✔ obiekt:
🔥 różnica:
Zmienna
Obiekt
trzyma wartość
ma metody i właściwości
🔹 4. Właściwości obiektu
Właściwość = zmienna w klasie
📌 przykład:
użycie:
🔹 5.
🔥 co się dzieje:
🧠 6. Najprostsze tłumaczenie w 1 zdaniu
👉
🔹 7. Typowy błąd początkujących
❌ źle:
❌ źle:
✔ dobrze:
🔹 8. Przykład z Laravel (real life)
🔥 co tu się dzieje:
🔹 9. Mental model (najważniejsze)
Wyobraź sobie:
🚀 PODSUMOWANIE
👉 odnosi się do bieżącego obiektu
👉 pozwala wejść do środka obiektu
razem:
👉
czym jest
$thisczym jest
->czym jest obiekt vs zmienna
To są fundamenty OOP (programowania obiektowego).
🔹 1. Co oznacza
$this w PHP?$this oznacza:“ten konkretny obiekt, w którym aktualnie jestem”
Czyli odnosi się do metod i właściwości wewnątrz klasy.
📌 Przykład:
class User
{
public function sayHello()
{
return $this->getName();
}
public function getName()
{
return "Jan";
}
}🔥 Co się tu dzieje?
$this->getName() → wywołuje metodę z tej samej klasy$this = “ten obiekt User”📌 użycie:
$user = new User();
echo $user->sayHello();🧠 Najprostsza definicja:
👉
$this = JA (ten obiekt)🔹 2. Co oznacza
-> w PHP?Operator
-> służy do:dostępu do właściwości lub metod obiektu
📌 przykład:
$user = new User();
$user->name;
$user->sayHello();🔥 tłumaczenie:
$user->name → sięgasz do pola name$user->sayHello() → wywołujesz metodę🧠 Najprostsza definicja:
👉
-> = “wejdź do środka obiektu i weź coś”🔹 3. Obiekt vs zmienna
❌ zwykła zmienna:
$name = "Jan";✔ obiekt:
$user = new User();🔥 różnica:
Zmienna
Obiekt
trzyma wartość
ma metody i właściwości
$name$user->name🔹 4. Właściwości obiektu
Właściwość = zmienna w klasie
📌 przykład:
class User
{
public $name = "Jan";
}użycie:
$user = new User();
echo $user->name;🔹 5.
$this + -> razem (najważniejsze)class User
{
public $name = "Jan";
public function getName()
{
return $this->name;
}
}🔥 co się dzieje:
$this->name → sięga do właściwości obiektu-> → dostęp do wnętrza$this → “ten obiekt”🧠 6. Najprostsze tłumaczenie w 1 zdaniu
👉
$this->coś = “weź coś z tego obiektu, w którym teraz jesteś”🔹 7. Typowy błąd początkujących
❌ źle:
name = "Jan";❌ źle:
this->name;✔ dobrze:
$this->name;🔹 8. Przykład z Laravel (real life)
class ScraperCommand extends Command
{
public function handle()
{
$this->info("Start scraper");
}
}🔥 co tu się dzieje:
$this->info() → metoda z klasy Command$this → aktualna komenda Artisan🔹 9. Mental model (najważniejsze)
Wyobraź sobie:
$this = "JA (ten obiekt)"
-> = "wejdź do środka i użyj"🚀 PODSUMOWANIE
$this👉 odnosi się do bieżącego obiektu
->👉 pozwala wejść do środka obiektu
razem:
👉
$this->coś = “weź coś z mojego wnętrza”