Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][OOP] Automatyczne wstrzykiwanie
--marcin--
post
Post #1





Goście







Prosze o porade bardziej doswiadczonych. Czy istnieje jakis prosty sposob na wstrzykiwanie do kazdego nowo stworzonego obiektu innego? Chodzi mi o to ze po utworzeniu polaczenia z baza (pdo) chcialbym ten obiekt miec dostepny w kazdym innym obiekcie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Tu kod apropo dziedziczenia dla lepszej wizualizacji
  1. class Connect {
  2. public function __construct() {
  3. echo 'Tu sie własnie tworzy kolejny obiekt klasy Connect, a co za tym idzie kazdy kolejny obiekt, ktory on w sobie tworzy <br />';
  4. }
  5. }
  6.  
  7. class T1 extends Connect {}
  8. class T2 extends Connect {}
  9. class T3 extends Connect {}
  10.  
  11. $t1 = new T1();
  12. $t2 = new T2();
  13. $t3 = new T3();


Cytat
Pokazałbyś pseudokod działania?


$db = new DB(); //gdzies tam w aplikacji tworzysz sobie taki obiekt
$obiekt = new JakisObiekt($db); //gdzies tam indziej przekazujesz obiekt $db do aktualnie tworzonego obiektu. Oczywiscie konstruktor musi go odebrac.

Pomijam tu juz kwestie widocznosci zmiennej $db. To juz zupelnie inna bajka.
Ja osobiscie uzywam Rejestrow i jest mi z tym dobrze. Wszedzie tam gdzie potrzebuje to poprostu siegam po utworzony juz obiekt, ktory jest w Rejestrze.
Dodatkowo zrobilem "leniwe połączenie" czyli połączenie z bazą tworze dopiero wtedy, gdy obiekt bazy chce wykonac zapytanie, a nie w momencie tworzenia obiektu bazy. Dzieki temu, nawet pomimo faktu, ze obiekt bazy tworze na samym poczatku aplikaji, to połączenie z bazą nawiązuje dopiero wtedy gdy potrzeba, albo w ogole, jesli nie bylo takiej potrzeby
Go to the top of the page
+Quote Post

Posty w temacie
- -marcin-   [PHP][OOP] Automatyczne wstrzykiwanie   30.01.2014, 00:14:12
- - Wazniak96   Tak. Są takie pola i metody jak statyczne. Wystarc...   30.01.2014, 01:08:51
- - Turson   Jeżeli mowa o połaczeniu z PDO w każdej klasie, to...   30.01.2014, 09:55:48
- - nospor   @Turson no nie ucz ludzi zly nawykow.... nie po to...   30.01.2014, 10:00:54
- - Turson   Więc jak byś rozwiązał sprawę połączenia, by było ...   30.01.2014, 10:11:37
- - nospor   Normalnie, na wiele sposobow: 1) Obiekt polaczenia...   30.01.2014, 10:18:07
- - Turson   Nawiązując do 2 ostatnich zdań, w moim kodzie nie ...   30.01.2014, 10:24:03
- - phpion   class Test extends Connect - a czy tutaj przypadki...   30.01.2014, 10:26:33
- - thek   Poza tym, abstrahując od tego co napisał nospor, m...   30.01.2014, 10:27:15
- - nospor   Cytatw moim kodzie nie tworzę kilku obiektów połąc...   30.01.2014, 10:29:19
- - viking   Zawsze można użyć IoC, taka moda w PHP. Pasuje to ...   30.01.2014, 10:38:56
- - Turson   CytatOgolnie zasada jest balanie prosta: w calej a...   30.01.2014, 10:39:30
- - -marcin-   Czyli najlepsza metoda to przekazanie obiektu w ko...   30.01.2014, 10:40:02
- - nospor   Tu kod apropo dziedziczenia dla lepszej wizualizac...   30.01.2014, 10:44:43
- - -marcin-   nospor - zakladajac, ze i tak kazde 'odswiezen...   30.01.2014, 10:51:30
- - nospor   W moim systemie twoje zalozenie jest bledne, wiec ...   30.01.2014, 10:54:32
- - Turson   Dzięki nospor za wyjaśnienie. Mnie ktoś kiedyś doś...   30.01.2014, 19:15:15


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 - 07:55