Nejste přihlášeni
Stránky 1
Dobrý den!
Následující zdroják u mně doma na lokále (PHP 5.3.10) vytiskne 13, což je očekávaný výsledek.
ovšem na endoře (PHP 5.3.13) skončí chybou na radku 7: Fatal error: Function name must be a string.....
Zajímavé je, že pokud smazu deklaraci tridy functest a následné vytvoření její instance a volání metody
chyba zmizí.
Prosím o pomoc ....
-----------------------------
$func = function($arg)
{
echo $arg;
};
$func(1); // skonci chybou
class functest
{
public $functor_;
public function __construct($f)
{
$this->functor_ = $f;
}
public function doEcho()
{
$fn = $this->functor_;
$fn(3);
}
}
$k = new functest($func);
$k->doEcho();
--------------------------------------
Offline
Vaší odpovědi nerozumím.
Naštěstí jsem zjistil, že nejsem první kdo má u Endory problém s anonymními funkcemi
<!-- l --><a class="postlink-local" href="http://podpora.endora.cz/viewtopic.php?f=5&t=5557">viewtopic.php?f=5&t=5557</a><!-- l -->
Mimochodem pokud by jste chtěl vědět co jsou anonymní funkce
manuál je zde:
http://php.net/manual/en/functions.anonymous.php
Offline
mne sA nejde prihlásit <!-- w --><a class="postlink" href="http://www.super-servers.cz/wp-admin">www.super-servers.cz/wp-admin</a><!-- w -->
Offline
mne sA nejde prihlásit http://www.super-servers.cz/wp-admin
Co to má společné s problémem v tomto vláknu? A nedivím se, že se vám nejde přihlásit, když doména neexistuje?
Nejnovější článek: www.zeminem.cz ...
Černé díry jsou místa, kde Bůh dělil nulou...
Endora plugin!
Offline
Toto je dosť zaujímavé. Schválne som si ten kód skopíroval na web, čo mám na Endore a mne ide, vytlačí 13. Nachádza sa nad, alebo pod uvedeným skriptom ešte niečo? Skúšali ste pustiť len čisto tento kód?
Offline
Celý problém je způsoben eAcceleratorem , jak vyplývá z mnou již jednou zminovaného vlákana na endoře viewtopic.php?f=5&t=5557
Prakticky je tedy problém workaroudnutelný za cenu vypnutí eAcceleratoru kupříkladu v .htaccess pomocí direktiv:
php_flag eaccelerator.enable 0
php_flag eaccelerator.optimizer 0
Pokud vám můj testcase funguje zde na endoře a s verzí PHP .13 je dost možné že jej již máte vypnutý.
Poznamenal bych, že mně celkem rozladila reakce technické podpory, která ani neví co to anonymní funkce je!
Ještě legračněji to vyznívá v referencovaném vlákně (výše). Tam je dokonce jako rada uvedeno, že má autor aplikace tuto přepsat podle "nových" pravidel PHP, asi že jsou anonyní funkce již nepodporované či co Schválně doporučuji
k přečtení.
Offline
Stránky 1