パスワードを忘れた? アカウント作成
450086 journal

meraの日記: ポリモどき

日記 by mera
今何気にPHPでユーティリティクラスをコーディング中。で、その中にフォーム入力タグを出力するタグが大量に並びまくり。 PHPでうまい事 interface クラスもどきな実装はできひんもんやろか? それがでけたらインターフェイスから呼び出すだけで全フォームのコールが統一されてもっとすっきりしたコードになるのに。 とか思いつつちょっぴりポリもどきに挑戦。

class Interface {
  function drawForm() {
    $args   = func_get_args() ;
    $exestr = "\$this->drawFormExec(" ;
    for( $ii=0; $ii<count($args); $ii++ ) !$ii ? $exestr .= "\"".$args[$ii]."\"" : $exestr .= ", \"".$args[$ii]."\"" ;
    $exestr .= " ) ; " ;
    eval( $exestr ) ;
  }
}

class TextForm extends Interface {
  function drawFormExec( $name, $value="" ) { echo "<input type=\"text\" name=\"".$name."\" value=\"".$value."\"><br>" ; }
}

class TextAreaForm extends Interface {
  function drawFormExec( $name, $cols, $rows, $value="" ) { echo "<textarea name=\"".$name."\" cols=\"".$cols."\" rows=\"".$rows."\">".$value."</textarea>" ; }
}

$form = new TextForm() ;
$form->drawForm( "var1" ) ;

$form = new TextAreaForm() ;
$form->drawForm( "var2", "60", "5" ) ;

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

読み込み中...