대신 20 가지 경우에 대해 스위치 코드 블록을 작성하는 몇 가지 해결책이 있습니까? 동적 변수가 될 객체의 유형과 같은 코드를 작성하십시오. 개체의 이름동적 객체 변수를 만드는 방법
포럼에 대해 선택한 값에 따라 value = "option1" , value = "option2"
으로 조정되므로 잘 쓰겠습니다.
$object = $_POST['option_name'];
내가 자신의 클래스에 적합한 새로운 객체 마녀를 만들 수에 따라. 그리고 그의 이름이 무엇인지 알지 못해서 나는 그가 계산 한 것을보기 위해 자신의 메서드를 호출 할 수 있습니다. $object->calculated() //according it is match class
그리고 나서 코드는 다음 코드에 따라 테이블 이름 데이터베이스에도 적합합니다. 당신은 이름이 문자열에 저장되어있는 클래스에서 새 개체를 만들려면
<?php
require_once("/includes/database.php");
require_once("/includes/some_class.php");
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<br>value1<input type=text name='value1'>
<br>value2<input type=text name='value2'>
<h2>please select one of the choice</h2>
<input type="radio" name="option_name" value="option1" /> "option1"
<br><input type="radio" name="option_name" value=""option2" /> option2
<br><input type="radio" name="option_name" value="option3" /> option3
*
*
*
<br><input type="radio" name="option_name" value="option20" /> option20
<br><input type="submit" name="submit" value="Submit Form"><br>
</form>
<br/><br/>
<?php
$object="";
echo("<br>");
if (isset($_POST['submit'])) {
if (!empty($_POST['option_name'])) {
ClassOption::$option_name = $_POST['option_name'];//can be from option1,option2...option20
ClassOption::$value1 = $_POST['value1'];
ClassOption::$value2 = $_POST['value2'];
$option = $_POST['option_name'];
switch ($option)
{
case option1:
$option1 = new Option1 ();// create object1 and calculate it
echo 'object1 calculated', $option1->calculated(), "<br />";
$option1->create_record_for_database();//with value1,value2,option_name
break;
case option2:
$option2 = new Option2();// create object2 and calculate it
echo 'object2 calculated', $option2->calculated(), "<br />";
$option20->create_record_for_database();//with value1,value2,option_name
break;
*
*
*
case option20:
$option2 = new Option2();
echo 'object2 calculated', $option2->calculated(), "<br />";
$option20->create_record_for_database();//with value1,value2,option_name
}
}
?>