Fluent Interfaces – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Fluent Interfaces – PHP – Fórum – Programujte.comFluent Interfaces – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
netman920
Super člen
12. 7. 2008   #1
-
0
-

ako vytvorim tridu ked budem moct pouzit takyto zapis:

xhtml::createElement(img)->setAlt("aa")->setSrc("aaa/a.jpg");

nazyva sa to Fluent Interfaces nasiel som nejake clanky alemoc tomu nerozumiem a
neviem ako mam takuto triedu vytvorit

dakujem za pripadnu pomoc :smile1:

Nahlásit jako SPAM
IP: 195.91.54.–
Reklama
Reklama
bukaj0
Věrný člen
12. 7. 2008   #2
-
0
-

netman92
Ano, nazývá se to Fluent Interfaces a dá se to použít u metod, které by normálně nevracely hodnotu, či by vracení nějaké hodnoty bylo prakticky k ničemu -- např. settery. Celý fígl spočívá v tom, že metoda vrací referenci na vlastní instanci ($this):

<?php

class Foo
{
private $foo;
private $bar;
private $baz;

public function setFoo($foo)
{
$this->foo = $foo;
return $this;
}

public function setBar($bar)
{
$this->bar = $bar;
return $this;
}

public function setBaz($baz)
{
$this->baz = $baz;
return $this;
}
}

// nyní, když chceme vytvořit instanci Foo a zinicializovat všechny její hodnoty
// (tzn. foo, bar a baz), můžeme použít dva způsoby:
// 1) klasické volání:
$foo = new Foo;
$foo->setFoo("foo");
$foo->setBar("bar");
$foo->setBaz("baz");

// 2) jelikož settery vracejí referenci na vlastní instanci ($this), lze je zřetězit:
$foo = new Foo;
$foo->setFoo("foo")
->setBar("bar")
->setBaz("baz");

Nahlásit jako SPAM
IP: 85.70.13.–
Jak se správně ptát? -> http://www.hash.cz/inferno/otazky.html[br][br] Po programování je člověk hladovej.
hrach
~ Redaktor
+1
Boss
12. 7. 2008   #3
-
0
-

jeste dodam, ze u zacatku volani se jedna o statickou metodu:

class xhtml {

public static function create($tag) {
return new mujObjektNaXml($tag);
}
}

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
netman920
Super člen
13. 7. 2008   #4
-
0
-

To hrach :
Dakujem
inak inspiroval som sa na to tvojim "haefkom" :smile1:
nechcem ho kopirovat ale chcem si vytvorit nejaku takuto triedu a zatial som dosiel
iba k tomu ze parametre pre hTML tag som daval ako parameter funkcie

toto sa mi zda privetivejsie
dik za pomoc este raz :smile2:

Nahlásit jako SPAM
IP: 195.91.54.–
netman920
Super člen
13. 7. 2008   #5
-
0
-

teraz to skusam a aj tak mito nejde
pls napiste sem niekto v kope lebo dal som tam aj toto

class xhtml {


public static function create($tag) {

return new mujObjektNaXml($tag);

}

}

aj to predtym ale nejako mi to nekce ist
stale chyby

Nahlásit jako SPAM
IP: 195.91.54.–
hrach
~ Redaktor
+1
Boss
14. 7. 2008   #6
-
0
-

To netman92 : no, tak napis, co ti to pise za chybu.. :) mas definouvanou tridu mujObjektNaXml?

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
netman920
Super člen
14. 7. 2008   #7
-
0
-

To hrach :
no si nemam chybu napisem neskvor som tu len na skok

Nahlásit jako SPAM
IP: 195.91.54.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 67 hostů

Podobná vlákna

C# Fluent Nhibernate CE(.sdf) 4.0 — založil LukášD

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý