![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: -- Ostrzeżenie: (0%) ![]() ![]() |
Mam pytanie, w jaki sposób odwołać się do zmiennych i funkcji znajdujących się w klasie z poziomu innej klasy? Raczej nie mogę tutaj użyć dziedziczenia.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Podaj przyklad takich klas.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: -- Ostrzeżenie: (0%) ![]() ![]() |
Mam klase, która obsługuje zapytania do serwa mySQL:
[php:1:79995c0050]<?php class mod_mysql { (...) function query( $query = '' ) { // wysyla zapytanie do serwera sql unset( $this -> query_result ); if( $query != '' ) $this -> num_queries++; $this -> query_result = ( $query != '' ) ? @mysql_query( $query, $this -> connect_id ) : False ; unset( $this -> row[$this -> query_result] ); unset( $this -> rowset[$this -> query_result] ); return ( $this -> query_result ) ? $this -> query_result : False ; } (...) } $modules['mysql'] = new mod_mysql( $dbhost, $dbuser, $dbpass, $dbname ); $db = &$modules['mysql']; ?>[/php:1:79995c0050] i np. obslugująca system templatow...I jeśli chce sie odwołać do np. do metody query: [php:1:79995c0050]<?php $db -> query( $sql ) ?>[/php:1:79995c0050] z innej klasy np. "mod_stat" to wywala mi błąd. Gdyby chodziło tylko o jedną klase do ofkouz dziedziczenie, no ale robie coś na zasadzie modułów i to się nie za bardzo sprawdza...Jest na to jakiś sposób? Widziałem gdzieś na forum sposób aby jakoś połączyć wszystkie klasy, ale troche to było skomplikowane i chyba mało wydajne...Byłbym wdzięczny za porady... ---------------- edited by DeyV (aby kolorowanie działało - konieczne jest otwarcie kodu php odpowiednimi znacznikami...) |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Ja zazwyczaj robię to mniej więcej tak:
[php:1:03e80aa4a9]<?php $GLOBALS['DB'] = new mod_mysql ; class ModAbstract { function __construct() { $this->Db =& $GLOBALS['DB']; } } class MyMod extends ModAbstract { /** * nasz konstrukctor */ function MyMod () { parent::__construct(); } function cosTam() { $this -> Db -> query( $sql ) ; } } ?>[/php:1:03e80aa4a9] -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: -- Ostrzeżenie: (0%) ![]() ![]() |
big thx!
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:13 |