method_exists() - Syntax
::Stella Maris::
- php
abend die herrschaften,
hab da ein kleines problem mit der syntax.. es will einfach nicht
funktionieren:
class DefaultAction {
[...]
var $action; //nimmt den wert release an
function init() {
$fcall = "Before".ucfirst( $this->action );
echo ( method_exists( $this, $beforeFunctionCall ) )?'ja':'nein';
}
function BeforeRelease() {
}
}
der fehler liegt in der zeile "method_exists()", denn ich
bekomme stets gesagt, dass die methode nicht existiere.
1. beim $this sollte eigentlich lt. manual das klassenobjekt herein,
doch wurde die klasse doch ganz wo anders instanziiert.. ?
2. ist method_exists() überhaupt richtig ? eigentlich sind
es ja methoden, aber bei php bin ich mir da nicht so recht
sicher.. wäre function_exists() angebrachter ?
besten dank für die überlegungen und bemühungen..
mfg
::Stella Maris::
Hi,
var $action; //nimmt den wert release an
...
$fcall = "Before".ucfirst( $this->action );
echo ( method_exists( $this, $beforeFunctionCall ) )?'ja':'nein';
Okay - in $fcall sollte dann 'BeforeRelease' drinstehen, wodurch method_exists($this, $fcall) auch true zurückgeben sollte. Du übergibst der Funktion aber $beforeFunctionCall als zweiten Parameter - was steht da drin?
Gruß,
Andreas.
Hi,
var $action; //nimmt den wert release an
...
$fcall = "Before".ucfirst( $this->action );
echo ( method_exists( $this, $beforeFunctionCall ) )?'ja':'nein';Okay - in $fcall sollte dann 'BeforeRelease' drinstehen, wodurch method_exists($this, $fcall) auch true zurückgeben sollte. Du übergibst der Funktion aber $beforeFunctionCall als zweiten Parameter - was steht da drin?
ou sorry.. das war ein versehen. $fcall muss in diesem fall
$beforeFunctionCall lauten. konnte allerdings mein problem
bereits lösen:
// Call the Main-Method for the current Action
(( $this->action = release ))
$mainFunctionCall = ucfirst( $this->action );
if( !method_exists( $this, $mainFunctionCall ) )
die( "ErrorMsg: The Function <b>$mainFunctionCall()</b>".
"in <b>default.action.class.php</b> does not exist!" );
eval( $this->$mainFunctionCall() );
aber besten dank für die antwort
thx
::Stella Maris::