Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Object-oriented programming _ Definiowanie zmiennych w klasie a PSR

Napisany przez: zxcvbnm123 12.10.2016, 09:04:17

Hej,

Mam takie pytanie odnośnie definiowania zmiennych w danej klasie.

Czy za każdym razem wszystkie użyte zmienne muszę definiować na samym początku klasy i odnosić się do nich przez $this ? W PSR nie dostałem odpowiedzi na ten temat.

Przykład:

https://wklej.to/G1yoy

Napisany przez: viking 12.10.2016, 09:12:25

W PSR nie piszą ale raczej oczywista jest deklaracja przed użyciem. Dodatkowo edytor może na ich bazie wygenerować settery/gettery.

Napisany przez: Pyton_000 12.10.2016, 09:27:43

W PHP nie musisz, jednak taka zmienna będzie public.
Deklarowanie zmiennych ma za zadanie zwiększyć czytelność i dać możliwość deklarowania dostępności danej własności.

Napisany przez: nospor 12.10.2016, 09:59:09

Autorowi raczej chodzilo, czy za kazdym razem musi deklarowac zmiennej jako wlasciwosci klasy.

Nie, nie musisz. Zmienne lokalne dostepne tylko w danej funkcji sa jak najbardziej ok.

Napisany przez: kpt_lucek 14.10.2016, 13:29:28

  1. if($id) {
  2. $this->page = Pages::find($id);
  3. $this->page->title=$this->title;
  4. $this->page->content=$this->content;
  5. $this->page->save();
  6. }

Takie coś raczej nie ma sensu, głównie z uwagi na to, że za każdym wywołaniem metody z różnym id, ta wartość będzie inna.
Wystarczy samo $page = ...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)