エラーメッセージが表示されます'致命的なエラー:41行目の-で未定義のメソッドCleverString :: strlen()を呼び出します'
echo "<p>The length of the string is: " . $myString->strlen() . "</p>";
コードを何度か調べましたが、エラーの原因を特定できません。
完全なコードは次のとおりです。
<?php
class CleverString {
private $_theString = "";
private static $_allowedFunctions = array( "strlen", "strtoupper", "strpos" );
public function setString ( $stringVal ){
$this->_theString = $stringVal;
}
public function getString(){
return $this->_theString;
}
public function _call( $methodName, $arguments ){
if ( in_array( $methodName, CleverString::$_allowedFunctions ) ){
array_unshift( $arguments, $this->_theString );
return call_user_func_array( $methodName, $arguments );
} else {
die ( "<p>Method 'CleverString::$methodName' doesn't exist</p>" );
}
}
}
$myString = new CleverString;
$myString->setString( "Hello!" );
echo "<p>The string is: " . $myString->getString() . "</p>";
echo "<p>The length of the string is: " . $myString->strlen() . "</p>";
echo "<p>The string in uppercase letter is: " . $myString->strtoupper() . "</p>";
echo "<p>The letter 'e' occurs at position: " . $myString->strpos( "e" ) . "</p>";
$myString->madeUpMethod();
?>