Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Statyczne klasy vs Dependency Injection
Inscure
post
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 4
Dołączył: 18.09.2010

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


Pracując na projektem pisanym obiektowo, natknęliśmy się na problem korzystania z metod jednej klasy w drugiej.

Dyskutując na ten temat, odrzuciliśmy tworzenie obiektu innych klas wewnątrz danej klasy, czyli:

  1. class User
  2. {
  3. function __construct($sessionName)
  4. {
  5. $this->storage = new SessionStorage($sessionName);
  6. }
  7.  
  8. // ...
  9. }
  10.  
  11. $user = new User('SESSION_ID');



Zostały dwa sposoby, podane w nazwie tematu.
Małe wyjaśnienie odnośnie klas statycznych: jak pewnie większość się domyśla, chodzi o pisanie metod statycznych i korzystanie z nich w innej klasie w sposób następujący: Klasa::metoda();
W związku z tym zwracam się do Was z prośbą o wyrażenie opinii, z czego byście wy skorzystali i dlaczego.

Ja osobiście jestem za Dependency Injection znanego z Symfony, ale trzeba jakoś innych przekonać ;]

Ten post edytował Inscure 6.05.2011, 19:56:36
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%)
-----


Oczywiście DI. Dlaczego? Bo jak przykładowo przyjdzie w przyszłości zmienić jakiś fragment systemu to przy korzystaniu z DI co najwyżej ktoś się popłacze, ale nikt się nie powiesi... (IMG:style_emoticons/default/wink.gif) Wcześniej padły już sensowne argumenty.

@smentek:
1. Istnieją, ale nie w PHP.
2. Technicznie rzecz biorąc klasa to klasa, ale jakby na to jakoś logiczne spojrzeć to tak - klasa z samymi metodami statycznymi to nie klasa.
3. Technicznie nie, ale pod wieloma względami obie te rzeczy są bardzo podobne i mają niemal takie samo zastosowanie.
4. W sumie może z takowych korzystać...
5. "Na zewnątrz" prawdopodobnie w DIC-u

Ten post edytował Crozin 12.05.2011, 18:55:17
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: 14.10.2025 - 17:05