Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jedna deklaracja 1 klasy dla wszystkich innych, mysql dla wszystkich klas
Spawnm
post
Post #1





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Witam,

mam klasy mysql,session,panel
wszystkie są deklarowane w pliku index.php

$db=new mysql($dbhost,$dbuser,$dbpass,$dbname);
$session=new session();
itp...

i teraz pytanie :
co zrobić aby mysql był dostępny w innych klasach bez ponownej deklaracji / łączenia?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Morkai
post
Post #2





Grupa: Zarejestrowani
Postów: 24
Pomógł: 3
Dołączył: 25.08.2005

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


Cytat(mls @ 26.03.2009, 00:55:17 ) *
to nie trzeba robić nic

Trzeba zadeklarować zmienną jako statyczną. Najgorsze rozwiązanie z możliwych.

Jak chcesz wykorzystać inny obiekt to po prostu go przekazujesz, nie?

$db=new mysql($dbhost,$dbuser,$dbpass,$dbname);
$session=new session($mysql);
itp...
Go to the top of the page
+Quote Post
Spawnm
post
Post #3





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Cytat(Morkai @ 26.03.2009, 12:49:45 ) *
Trzeba zadeklarować zmienną jako statyczną. Najgorsze rozwiązanie z możliwych.

Jak chcesz wykorzystać inny obiekt to po prostu go przekazujesz, nie?

$db=new mysql($dbhost,$dbuser,$dbpass,$dbname);
$session=new session($mysql);
itp...


chyba nie
  1. <?php
  2. $db=new mysql($dbhost,$dbuser,$dbpass,$dbname);
  3. $session=new session($mysql);
  4. ?>

tylko
  1. <?php
  2. $db=new mysql($dbhost,$dbuser,$dbpass,$dbname);
  3. $session=new session($db);
  4. ?>

(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Robiłem tak , ale to jest dobre do małych stron z 1-2 klasami , w większych projektach jest to już trochę słabe rozwiązanie...
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: 28.12.2025 - 16:16