witam !!
Właśnie próbuję nauczyc się programowania obiektowego (oklaski) i w zwiazku z tym probuje sobie stworzyć mały systemik. I wszytsko jest dobrze i pieknie, ale mam jedno małe pytanie. Otóż mam klasę do obsługi bazy danych (za chwilę mi ktoś napisze że takie już są i po co wywarzac otwarte drzwi, tak więc uprzedzam: uczę się i sądzę że to jest całkiem dobry pomysł) , oraz inną klasę wykorzystującą mój "sterownik". I teraz główna część pytania: jaka jest różnica pomiędzy poniższymi przykładami i który kod powinien być stosowany (ewentualnie który do czego).
A oto kod:
(I)
[php:1:1ff53ffc2c]<?php
class db
{
var $res = '';
function db($var1, $var2, $var3, $var4)
{
//cośtam
}
function query($var)
{
$this -> res = mysql_query($var);
}
}
class dwa
{
var $wskaznik = '';
function dwa($var) //jako argument podaję obiekt klasy db
{
$this -> wskaznik = $var;
}
function cos()
{
$this -> wskaznik -> query("zapytanie");
}
}
?>[/php:1:1ff53ffc2c]
(II)
[php:1:1ff53ffc2c]<?php
class db
{
var $res = '';
function db($var1, $var2, $var3, $var4)
{
//cośtam
}
function query($var)
{
$this -> res = mysql_query($var);
}
}
class dwa
{
var $wskaznik = '';
function dwa(&$var) //a tutaj referencja
{
$this -> wskaznik = &$var;
}
function cos()
{
$this -> wskaznik -> query("zapytanie");
}
}
?>[/php:1:1ff53ffc2c]