0
私は__callを使用するクラス()があります。arrayを返す__call()の返すメソッドはなぜですか?
public function __call($method, $args){
$method = "_".$method;
if (method_exists($this, $method)) {
try {
return $this->$method($args);
}
catch (Validation_exception $e) {
$this->exceptions[] = $e->getMessage();
return;
}
}
}
しかし、それは、私は、文字列を返すメソッドがあっても私の配列を返します:私がやるのであれば
protected function _return_string(){
return "string";
}
を:
を echo $ myclass-> return_string(); print_r($ myclass-> return_string());
それが出力:
アレイ()
アレイ([0] => "文字列")
なぜ配列を返しありません? //出力
[できません](http://codepad.org/PdXOp95k) – Gordon
おそらく、奇妙なPHPプリプロセッサが、セミコロンではない ':'を修正しようとしているかもしれません。 – Paulpro
これは誤った形式でした。 – localhost