Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Relacja między klasami...
CyberBob
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Seth
post
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.
Go to the top of the page
+Quote Post
CyberBob
post
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...)
Go to the top of the page
+Quote Post
DeyV
post
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..."
Go to the top of the page
+Quote Post
CyberBob
post
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: --

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


big thx!
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: 20.08.2025 - 09:13