#1 2012-06-25 13:44:21

spv
Člen
Registrován: 2012-06-25
Příspěvky: 3

Re: PHP problém s anonymní funkcí

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

#2 2012-06-26 22:54:44

spv
Člen
Registrován: 2012-06-25
Příspěvky: 3

Re: PHP problém s anonymní funkcí

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

#3 2012-07-04 14:36:06

killer4567
Člen
Registrován: 2012-07-04
Příspěvky: 3

Re: PHP problém s anonymní funkcí

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

#4 2012-07-04 17:20:27

Martin
Endora rádce
Místo: Plzeň
Registrován: 2011-01-19
Příspěvky: 1,375
Web

Re: PHP problém s anonymní funkcí

killer4567 napsal:

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

#5 2012-07-15 12:41:46

Matej
Člen
Registrován: 2012-06-15
Příspěvky: 13

Re: PHP problém s anonymní funkcí

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

#6 2012-07-16 23:30:28

spv
Člen
Registrován: 2012-06-25
Příspěvky: 3

Re: PHP problém s anonymní funkcí

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  lol  Schválně doporučuji 
k přečtení.

Offline

Zápatí

Založeno na FluxBB | CZ a SK