Portál AbcLinuxu, 26. dubna 2024 02:36


Dotaz: PHP - Vytvoření instance v jednom řádku

22.12.2014 00:45 PHP
PHP - Vytvoření instance v jednom řádku
Přečteno: 301×
Odpovědět | Admin
Zdravím, proč mi tohle nefungíruje :-D
new \folder\{$foo->bar[0]}();

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (kralyk z abclinuxu)
kozzi avatar 22.12.2014 08:52 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: PHP - Vytvoření instance v jednom řádku
Odpovědět | | Sbalit | Link | Blokovat | Admin
(new ReflectionClass("\\folder\\" . $foo->bar[0]))->newInstance()
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
22.12.2014 11:35 Ivan Nový
Rozbalit Rozbalit vše Re: PHP - Vytvoření instance v jednom řádku
Odpovědět | | Sbalit | Link | Blokovat | Admin
A nemá to být tak? new ${'\folder\'.$foo->bar[0]}();
22.12.2014 12:07 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: PHP - Vytvoření instance v jednom řádku
Však si to nejprve zkus.

Osobně mi nevadí, když mám továrnu na dvou řádcích.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
22.12.2014 12:42 PHP
Rozbalit Rozbalit vše Re: PHP - Vytvoření instance v jednom řádku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Položil jsem ten dotaz asi blbě. Potřebuji vytvořit novou instanci třídy, jejíchž název je právě v tom "$foo->bar[0]"

normálně bych to udělal
$name = '\folder\' . $foo->bar[0];
new $name($p1, $p2);
ale potřebuji to na jeden řádek :-( Z toho co jste mi poslali, nefunguje ani jeden příklad :-(
22.12.2014 12:54 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: PHP - Vytvoření instance v jednom řádku
Udělej si na to funkci
<?php
function factory($class, $p1, $p2) {
    $name = "\\folder\\" . $class;
    return new $name($p1, $p2);
}

$objekt = factory($foo->bar[0], $p1, $p2);
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
kozzi avatar 22.12.2014 16:27 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: PHP - Vytvoření instance v jednom řádku

Jakto to prvni co jsme psal funguje

Linux je jako mušketýři "jeden za všechny, všichni za jednoho"

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.