Portál AbcLinuxu, 12. května 2025 04:46

Dotaz: P|HP - Ješt jeden dotaz ohledně class

29.10.2013 23:17 Greener
P|HP - Ješt jeden dotaz ohledně class
Přečteno: 261×
Odpovědět | Admin
Ahoj, chci se poradit ještě s jednou věcí, když mi class vrací více proměnných, je lepší způsob

a) vytvořit v index.php instanci class a poté volat z index.php každou metodu zvlášť pro získaní každé proměnné
$obj = new Trida();
$a = $obj->a(); 
$b = $obj->b();
$c = $obj->c();
new AddTrida($a, $b, $c, $d);

b) vytvořit v index.php instanci class a poté z konstruktoru zavolat všechny metody, nasázet je do array a returnem přímo z konstruktoru vrátit jako pole do proměnné "$obj" která byla do teď instancí Trida?

$obj = new Trida();
new AddTrida($obj);
Děkuji
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.10.2013 23:25 Kit
Rozbalit Rozbalit vše Re: P|HP - Ješt jeden dotaz ohledně class
Odpovědět | | Sbalit | Link | Blokovat | Admin
c) Vytvořit instanci třídy Třída a tu předat konstruktoru druhé třídy, která bude tuto třídu využívat. Žádné pole není potřebné.
$obj = new Trida();
$druhy = new AddTrida($obj);
29.10.2013 23:29 Kit
Rozbalit Rozbalit vše Re: P|HP - Ješt jeden dotaz ohledně class
edit: ... která bude instanci třídy Trida využívat.
29.10.2013 23:31 Greener
Rozbalit Rozbalit vše Re: P|HP - Ješt jeden dotaz ohledně class
No a prozradíš mi, jak v té class AddTrida získat ta data přímo z té instance ? Protože, pokud budu volat z konstruktoru AddTrida() něco jako $a = $obj->a, tak to stejně budu tahat zase z té první třídy Trida(), ne?
29.10.2013 23:37 Kit
Rozbalit Rozbalit vše Re: P|HP - Ješt jeden dotaz ohledně class
K čemu potřebuješ data z instance první třídy? Snad ji máš na to, aby něco dělala. Objekt není jen skladištěm dat. Tak ho nech pracovat a chtěj po něm výsledky.
29.10.2013 23:42 Greener
Rozbalit Rozbalit vše Re: P|HP - Ješt jeden dotaz ohledně class
Data z instance první třídy potřebuji z důvodu toho, že mám moc metod, tak chci více class pro zpřehlednění kódu. Jak tedy získam data z toho předaného objektu? Díky
29.10.2013 23:48 Kit
Rozbalit Rozbalit vše Re: P|HP - Ješt jeden dotaz ohledně class
Zavoláš si v něm nějakou metodu. Nejlépe __toString(), která ti rovnou poskytne výsledek v podobě řetězce.

Třídy rozhodně nemají účel seskupování dat a metod. To si s něčím pleteš.
30.10.2013 00:04 Greener
Rozbalit Rozbalit vše Re: P|HP - Ješt jeden dotaz ohledně class
To jsi mi moc "nepomohl".
30.10.2013 00:07 Kit
Rozbalit Rozbalit vše Re: P|HP - Ješt jeden dotaz ohledně class
Ty mně taky.
Josef Kufner avatar 29.10.2013 23:29 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: P|HP - Ješt jeden dotaz ohledně class
Odpovědět | | Sbalit | Link | Blokovat | Admin
d) Vytvořit kopii objektu:
$obj = new Trida();
$druhy = clone $obj;
Hello world ! Segmentation fault (core dumped)
29.10.2013 23:33 Kit
Rozbalit Rozbalit vše Re: P|HP - Ješt jeden dotaz ohledně class
Odpovědět | | Sbalit | Link | Blokovat | Admin
Aby nedošlo k mýlce: a) ani b) nebrat.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.