Autor Zpráva
Kcko
Profil
Z jisteho duvodu potrebuji v konkretni tride pouzivat jinou tridu volajici se jinde.
Cili za normalnich okolnosti bych to prostrcil pres kontruktor , ale to se mi nechce, musel bych to upravit asi na 40 mistech ( 40 souboru volajici tridu ..)


Takze mi nakonec vyslo toto:


<?php


class A
{
function __construct()
{
global $db;
$this->db = $db;
}

function ukaz()
{
echo $this->db;
}
}


$db = new DB();
$o = new A();
$o->ukaz();

?>


Je to hodne spatne ?
dracek
Profil
No, není to špatně, ale mohlo by to být hezčí.

class JinaTrida {

private $Data;
public function JinaTrida ($Data) {
$this->Data = $Data;
}

public function toString () {
return (string) $this->Data;
}
}
class Trida {
private $JinaTrida;
public function Trida (&$JinaTrida) {
$this->JinaTrida = $JinaTrida;
}
}

$JinaTrida = new JinaTrida ('Toto je jina trida.');
$Trida = new Trida (&$JinaTrida);
Joker
Profil
dracek
Však píše: za normalnich okolnosti bych to prostrcil pres kontruktor , ale to se mi nechce, musel bych to upravit asi na 40 mistech
dracek
Profil
Joker
Vím, ale i tak...
Kcko
Profil
Diky , staci ;)
koudi
Profil
Nebo můžeš $db (nevim, co to je za třídu, předpokládám připojení k databázi) udělat podle návrh. vzoru singleton. Pak si ji v A můžeš přiřádit (při stejném pojmenování) $this->db = db::getInstance();
Kcko
Profil
No singleton nejak moc nechapu , ale jeste se na to podivam. DIK

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0