Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Tworzenie metod dostępowych przy użyciu komentarzy
ZiaRek
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 25.09.2013

Ostrzeżenie: (0%)
-----


Witam serdecznie, przerabiam książkę o zaawansowanym programowaniu w PHP, i utkwiłem w jednym miejscu.

Jak programuje się funkcję która korzysta z komentarzy, tzn:

  1. class Example
  2. {
  3. /**
  4.  *@readwrite
  5.  */
  6. protected $_pierwsza;
  7.  
  8. /**
  9.  *@read
  10.  */
  11. protected $_druga
  12. }
  13.  
  14. $example = new Example();
  15. $example->setPierwsza("obojetnie")->setDruga("nieistotne");
  16. echo $example->getPierwsza();


Jak napisać do tego metodę która "czyta" komentarze i w zależności od flagi @read lub @readwrite sprawdza czy można użyć automatycznej metody dostępowej za pomocą __call bez pisania dla każdej zmiennej oddzielnych metod dostępowych.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


W PHP takie mechanizmy nie istnieją, a ich realizacja jest nietrywialna, autor raczej nie przyjął tego za oczywistość - być może miał coś innego na myśli?
Cytat
Można oczywiście zrobić normalne gettery i settery ale zmusza to programistę do powielania kodu.
I tak właśnie powinieneś zrobić. Nie będzie tam żadnego powielonego kodu, ponieważ każda metoda będzie robić coś innego. Co najwyżej można tutaj mówić o tzw. boilerplate code, ale od tego masz dowolne IDE z możliwością wygenerowania tych getterów/setterów. Także nie musisz się na tym skupiać.
Cytat
Szczerze mówiąc, trochę dziwi mnie wasze podejście, ja np. lubię się rozwijać a nie stać w miejscu, sorry ale moim celem nie jest zostanie "klepaczem kodu".
Tylko, że tutaj nie ma żadnego rozwoju. Tak, pełnoprawne właściwości na kształt tych z C# skróciłby nieco kod, ale same w sobie niczego specjalnie rozwojowego nie wprowadzają. Tutaj jest to zwyczajnie ograniczenie języka i używanie klasycznych getterów/setterów jest najlepszym rozwiązaniem w PHP.
Cytat
Na cho... Ci takie dziwactwa? Symfony się naoglądałeś ?
A co Symfony ma tutaj do rzeczy?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 08:27