• 締切済み

functionを定義したつもりが、動的メソッド扱いになります。

phpの中において、functionを作って呼び出そうとしているのですが、 funcRadioOutputが、なぜか、classのmethod扱いになってしまい、下記のエラーがでてしまいます。 Fatal error: Non-static method Input::funcRadioOutput() cannot be called statically in /var/www/vhosts/aaa.com/httpdocs/command/Input.php on line 357 他のサーバーで正常に動作しているものを別サーバーへ移行した際にこのエラーが起こったのですが、何かPHPの環境においてこういうケースが発生してしまうことがあるのでしょうか?何か、お気づきの点がありましたら、ご教示をお願いいたします。 ※ソースの抜粋 <?php ・ ・ 省略 ・ ・ class Input extends Action { //# コンストラクタ ・ ・ 省略 ・ ・ //# メイン処理 function execute($request, &$result, &$session , &$validator) { $inPrm = array(); $inPrm["LOCAL_REQUEST"] = $request; $inPrm["LOCAL_SESSION"] = $session; $clsInit = new CommonInit($inPrm); ・ ・ 省略 ・ ・ function funcRadioOutput($choise_array,$name,$default_val,$offset=false) { if ($default_val==$offset) { $sel=" checked"; } else { $sel=""; } $rdostr .= "<input type=\"radio\" name=\"{$name}\" {$ds} value=\"{$offset}\" {$sel}>{$choise_array[$offset]}"; return $rdostr; } $Gender_str = funcRadioOutput($Gender_array,"rdoSexID",$inPrm["LOCAL_REQUEST"]->params['rdoSexID']); ・ ・ ・ 省略 ・ ・ ・ } } ?>

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

状況よくわからないのですが、単純に $Gender_str = $this->funcRadioOutput(なんたらかんたら) とかしないんですか?

すると、全ての回答が全文表示されます。

関連するQ&A