Portál AbcLinuxu, 24. dubna 2024 22:05


Dotaz: Hledám funkci v php

26.5.2014 20:56 Zadejte vaše jméno
Hledám funkci v php
Přečteno: 393×
Odpovědět | Admin
Ahoj, existuje v php nějaká funkce nebo správný zápis pro vykonání toho co bude uvnitř?

Příklad, potřebuji zavolat třídu

new \a\b\c\Class();

ale názvy jsou v proměných a problem jsou obrácená lomítka a nechci používat zdojená lomítka, je to hnusné a nepřehledné

tohle nefunguje

new \$path\$class();

tohle taky ne new "\$a\$b\$c\$class()";

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

Odpovědi

Josef Kufner avatar 26.5.2014 21:16 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Hledám funkci v php
Odpovědět | | Sbalit | Link | Blokovat | Admin
$full_class = "\\$a\\$b\\$c\\$class";
new $full_class();
Hello world ! Segmentation fault (core dumped)
mess avatar 26.5.2014 23:00 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: Hledám funkci v php
Odpovědět | | Sbalit | Link | Blokovat | Admin
$full_class = "\\" . implode("\\", array($a,$b,$c,$class));
new $full_class();
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
27.5.2014 18:18 Sten
Rozbalit Rozbalit vše Re: Hledám funkci v php
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud je ten řetězec v apostrofech, tak není potřeba lomítka zdvojovat ;-)
$class_name = '\a\b\c\Class';
28.5.2014 11:17 EsoRimer
Rozbalit Rozbalit vše Re: Hledám funkci v php

Správně by se to mělo zdvojovat! A na zdvojených lomítkách není nic hnusného ani nepřehledného.

Na co si budete stěžovat příště? Ze se vám nelíbí $ na začátku proměnných? :D

28.5.2014 11:43 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Hledám funkci v php
"$" na začátku proměnných se mi také nelíbí, ale bez nich by spousta věcí v PHP prostě nefungovala.

Těm zpětným lomítkům se dá efektivně vyhýbat tak, aby se zdvojovat nemusela. Jen to chce trochu změnit přístup k budování projektu.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
30.5.2014 19:00 Sten
Rozbalit Rozbalit vše Re: Hledám funkci v php
To říká kdo, že se to správně má zdvojovat? Doporučuju si napřed najít něco o tom, proč PHP má dva druhy stringů (v apostrofech a v uvozovkách) a jaký je mezi nimi rozdíl.
30.5.2014 13:25 Ivan Nový
Rozbalit Rozbalit vše Re: Hledám funkci v php
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co toto:

class Factory
{
    public static function instanceFrom()
    {
        return new ${implode('\\', func_get_args())};
    }
}

Factory::instanceFrom('a', 'b', 'c', 'class');

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.