Portál AbcLinuxu, 21. listopadu 2025 10:04
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ýše function 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.