Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/oop] zmienne a klasy
nu_moon
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 26.01.2006

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


Witam!

Mam taka oto zagwozdke:

Trzymam sobie zmienne konfiguracyjne w tablicy w jednym z includowancyh plikow.

np $baza['user'] = 'user';

Pozniej ładuje klase i probuje odczytac te dane jednak nie wiedzec dlaczego nie sa one tam widoczne w ogole...

Jest moze jakis sposob by miec dostep do tablic z poziomu klasy, zeby nie podawac ich jako parametry ?
Go to the top of the page
+Quote Post
nospor
post
Post #2





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




http://pl2.php.net/manual/pl/language.variables.scope.php

ale dobrze jest korzystac ze wzorcow projektowych np. Rejestr


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
pyro
post
Post #3





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(nu_moon @ 17.04.2008, 15:47:41 ) *
Witam!

Mam taka oto zagwozdke:

Trzymam sobie zmienne konfiguracyjne w tablicy w jednym z includowancyh plikow.

np $baza['user'] = 'user';

Pozniej ładuje klase i probuje odczytac te dane jednak nie wiedzec dlaczego nie sa one tam widoczne w ogole...

Jest moze jakis sposob by miec dostep do tablic z poziomu klasy, zeby nie podawac ich jako parametry ?


jednym z rozwiazan moze byc dodanie constructora:

  1. <?php
  2. ...
  3. public $bazad = '';
  4. public function __construct()
  5. {
  6. include('includowanyplik.php');
  7. $this->bazad = $baza;
  8. }
  9.  
  10. ...
  11. ?>


wywola sie przy kazdym tworzeniu obiektow.
Teraz mozesz sie normalnie odwolywac.
np.

  1. <?php
  2. $a = new klasa();
  3. print $a->bazad['user'];
  4. ?>


Ten post edytował pyro 17.04.2008, 15:18:32


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
nu_moon
post
Post #4





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 26.01.2006

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


Cytat(pyro @ 17.04.2008, 14:09:03 ) *
jednym z rozwiazan moze byc dodanie constructora:

  1. <?php
  2. ...
  3. public $bazad = '';
  4. public function __construct()
  5. {
  6. include('includowanyplik.php');
  7. $this->bazad = $baza;
  8. }
  9.  
  10. ...
  11. ?>


wywola sie przy kazdym tworzeniu obiektow.
Teraz mozesz sie normalnie odwolywac.
np.

  1. <?php
  2. $a = new klasa();
  3. print $a->bazad['user'];
  4. ?>



Musze przyznać - świetne rozwiązanie - idealne jak na moje potrzeby.
Bardzo szybko zbudowałem sobie środowisko do wygodnego konfigurowania całego serwisu
Wielkie dzięki!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 20:41