我正在使用这个php库
<?php
// require the Faker autoloader
require_once '/path/to/Faker/src/autoload.php';
// use the factory to create a Faker\Generator instance
$faker = Faker\Factory::create();
$name=$_POST['name'];
switch ($name) {
case 'text':
echo $faker->text;
break;
case 'name':
echo $faker->name;
break;
case 'address':
echo $faker->address;
break;
default:
echo $faker->anything;
break;
}
?>
AS您可以看到调用“faker”的任何方法或属性
我需要使用switch语句
有没有更好的办法做事?
<form action="index.php" method="post">
<input type="text" name="name" value="text" /><br><br>
<input type="submit" value="Run" />
</form>
我想做的是这样的事情
<?php
$name=$_POST['name'];
echo $faker->$name;
//So if user type text
echo $faker->text ;
//or if user type "words($nb = 3, $asText = false)"
echo $faker->words($nb = 3, $asText = false);
?>
答案 0 :(得分:0)
<?php
$userinput='paragraph|{"nb":"10","text":"true"}';
$explode=explode('|',$userinput);
$functionName=$explode[0];
$arg=json_decode(end($explode),true);
echo call_user_func_array(array($this->faker, $functionName), $arg);
?>