Portál AbcLinuxu, 12. května 2025 08:02
class vytvor { function __constructor( funkce ){ this->_funkce = funkce; } function udelej(a){ return $this->funkce( a ); } } class poroucej { function na_druhou(a){ return a*a; } function zaloz( $funkce ) { this->robot = new vytvor( $this->{$funkce} ); } function zpracuj( array $data ){ foreach( $data as $udaj ){ $this->robot->udelej( $udaj ); } } } $udaje = array( 2, 5, 30, 25 ); $hlavni= new poroucej( "na_druhou" ); echo $hlavni->zpracuj( $udaje );je to jen nástin, snad pochopitelny ... jde mi o to, zda lze předat funkci ( nebo tady metodu ) jako parametr, která se de fakto stane metodou jiné třídy. předem díky ..
Řešení dotazu:
function doIt ($fn) {
echo "doIt\n";
return $fn();
}
function doMe () {
echo "doMe\n";
}
// I am using a closure here.
// There may be a more clever way to "get the function-object" representing a given
// named function, but I do not know what it is. Again, I *don't use PHP*
(nepoužívá PHP)
echo doIt(function () { doMe(); });
Kód je okopírován z jednoho odkazu výšefunction udelej(a){ $funkce = $this->$funkce; return $funkce[0]->$funkce[1]( a ); }plus nějaké to odchycení chyb ..
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.