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
mls
post
Post #3





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


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

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


No chyba nie do końca zrozumiałeś moją wypowiedź. Miałem na myśli coś takiego:
  1. <?php
  2. class test1
  3. {
  4.    protected $db;
  5.  
  6.    public function __construct ()
  7.    {
  8.        $this->db = new pdo(...); // czy cokolwiek innego do bazy danych
  9.    }
  10. }
  11.  
  12. class test2 extends test1
  13. {
  14.    public function test()
  15.    {
  16.        print_r($this->db);
  17.    }
  18. }
  19.  
  20. $test = new test2();
  21. $test2->test();
  22. ?>
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:04