Autor Zpráva
objektor
Profil *
Je nějaký způsob jak předat nějaké parametry z funkce "vyber" funkci "z" v následujícím příkladu?:
$obj->vyber("hodnotu")->z("pole");

Napadá mě akorát to, že funkce "vyber" uloží parametr "hodnotu" do nějaké privátní proměnné objektu, odkud to bude brát funkce "z", ale to je takové krkolomné.
ShiraNai7
Profil
Mě přijde krkolomné spíš tohle skládání objektů. Kód má sice být přehledný, ale zase ne na úkor programové efektivnosti.
objektor
Profil *
Jasně. Tohle je jen příklad, takovéhle skládání objektů používám u složitějších věcí.
Step
Profil
Jedině si to v tý třídě nastavit:
function vyber(...)
{
$this->parametr = ...;
...
}


Nic jinýho mě nenapadá
Lamicz
Profil
nevím, jestli to chápu, ale tohle je typický příklad řetězení - fluent, tzn. metody vrací instanci dotyčné třídy:
class x {

  private $co, $odkud;

  public function vyber($co){
    $this->co = $co;
    return $this;
  }

  public function z($odkud){
    $this->odkud = $odkud;
    return $this;
  }
}

$o = new x;
$o->vyber('hodnotu')->z('pole');



Když neznám název metody, můžu to takto udělat i s __call() - BTW to je nejjednodušší příklad jak udělat tímto způsobem DB knihovnu. Metody jsou názvy sloupců a hodnota je hodnota sloupce (při UPDATE nebo INSERT).

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