Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> widocznosc obiektu wewnątrz klasy
Black-Berry
post 13.02.2008, 01:01:28
Post #1





Grupa: Zarejestrowani
Postów: 663
Pomógł: 6
Dołączył: 3.06.2007
Skąd: Kraków

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


Czy we wnątrz klasy mogę użyć zewnętrzny obiekt bez konieczności używania deklaracji public ?

  1. <?php
  2. class c_page_creator_main
  3. {
  4. function c_page_creator_main()
  5. {
  6. global $db; //wewnątrz chciałbym użyć ten obiekt bez ciągłego deklorowania go jako public
  7. $db->query( "SELECT * FROM tabela" );
  8.  
  9. }
  10. ?>


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
em1X
post 13.02.2008, 12:12:54
Post #2





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


po prostu napisz sobie jakiś obiekt podstawowy, który wszystkie inne klasy będą rozszerzać.

  1. <?php
  2. class Object {
  3.  
  4.  public function & getDB() {
  5. // zwraca obiekt mysql
  6.  }
  7.  
  8.  // i tak dalej
  9.  
  10. }
  11. ?>


i w następnych klasach nie będzie problemów:
  1. <?php
  2. class myClass extends Object {
  3.  
  4.  public function display()
  5.  {
  6. $db = $this->getDB();
  7.  
  8. print $db->result('select field from table where id = 1');
  9.  }
  10.  
  11. }
  12. ?>


Ten post edytował em1X 13.02.2008, 12:13:07


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post

Posty w temacie
- Black-Berry   widocznosc obiektu wewnątrz klasy   13.02.2008, 01:01:28
- - webdicepl   Może dziedziczenie?   13.02.2008, 01:08:35
- - Black-Berry   nie ma innego sposobu ?   13.02.2008, 01:22:21
- - webdicepl   [PHP] pobierz, plaintext <?php class c_page_cre...   13.02.2008, 01:24:03
- - Black-Berry   no tak ale wtedy za kazdym razem bede musiał tworz...   13.02.2008, 01:28:07
- - webdicepl   Możesz jeszcze przekazywać obiekt do metody.   13.02.2008, 01:43:03
- - LonelyKnight   Cytat(Black-Berry @ 13.02.2008, 01:0...   13.02.2008, 11:05:44
- - Black-Berry   @LonelyKnight MAsz u mnie piwo:)   13.02.2008, 11:26:21
- - webdicepl   Dodam że singleton jest porównywany z globalami ty...   13.02.2008, 12:02:27
- - em1X   po prostu napisz sobie jakiś obiekt podstawowy, kt...   13.02.2008, 12:12:54
- - Black-Berry   @webdicepl Tak sobie myślę... że skoro różnica ma ...   13.02.2008, 12:15:45
|- - em1X   Cytat(Black-Berry @ 13.02.2008, 12:1...   13.02.2008, 16:09:25
- - webdicepl   Tak jak Ci mówiłem, tu najlepszym rozwiązaniem będ...   13.02.2008, 12:26:27
- - Black-Berry   Rozumiem, W takim razie zrobię tak jak sugerujesz....   13.02.2008, 16:29:09
- - em1X   Zauważ, że jeżeli będziesz chciał wprowadzić jakie...   13.02.2008, 16:49:11
- - Black-Berry   Tak, jakoś tak wyszło, że zaczynałem w PHP4 i się ...   13.02.2008, 21:01:49
|- - em1X   1) Bez sensu.... i skończ z tym globalem w końcu ...   13.02.2008, 21:12:55
- - Black-Berry   Dobra przekonałes mnie. Postęp musi być Dzis w no...   14.02.2008, 01:06:52
- - Tubis   Lepiej by było jakby te db_host, db_user i passwor...   16.02.2008, 11:57:16
- - Cysiaczek   Może tak jednak nie globale i stałe, a jakiś obiek...   16.02.2008, 12:08:40
- - Black-Berry   Taki obiekt konfiguracyjny były również singletone...   16.02.2008, 12:18:52
- - Cysiaczek   To już od Ciebie zależy. Może być sigletonem, ale ...   16.02.2008, 12:36:45
- - Cotter   Ja w tym celu tworzę sobie obiekt globalny w tabli...   17.02.2008, 00:10:37
- - Black-Berry   no to teraz mi już namieszałeś totalnie Znacznie ...   17.02.2008, 12:30:36
|- - em1X   No pewnie, że namieszał. Jeżeli chcesz przechowyw...   17.02.2008, 12:48:57
- - Black-Berry   @em1X tego typu osłonka sprawdza się ...   17.02.2008, 15:16:46
|- - em1X   1) dużo lepiej niż było na początku Trzeba pisać...   17.02.2008, 16:44:50
- - Black-Berry   boje się że mi życia na naukę ...   17.02.2008, 17:00:23


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 Wersja Lo-Fi Aktualny czas: 18.06.2025 - 07:54