【发布时间】:2018-02-07 21:25:00
【问题描述】:
我正在处理某个项目,我想在多个模板中处理来自表单的请求。问题是如何在处理脚本中调用适当的函数。虽然,我已经编码了一段时间,但我仍然想不出比在隐藏字段中使用变量更好的方法:
if ($_POST['somehiddenfield'] == 1) {
some_function_1();//doesnt matter if its a function or a method
}
if ($_POST['somehiddenfield'] == 2) {
$mainclass->somemethod();
}
//goes on indefinitely
我还想将所有内容保存在一个处理程序文件中,在该文件中调用我的主类。那么有没有比使用if ... else更有效的方法呢?
【问题讨论】:
-
怎么样发送更多的阅读值(仍然在隐藏字段中),您可以从中编写方法名称?为每个表单指定一个特定的名称。
-
虽然您的问题与 AJAX 无关,但 post 可能与您的问题有关。
-
或者有一个
arrray(array("type"=>1, "method"=>"personalForm"), array(..)) -
IMO 使用隐藏输入非常好。这几乎就是他们的目的。但是,我通常不使用它们来拆分 PHP 端的函数。我通常做的是在javascript中设置一个全局变量,从而确定通过ajax调用哪个函数。 (因此,根据我要调用的函数更改 URL 请求) - 如果可以,另一种方法是将其作为函数参数发送。我倾向于将整数作为参数(url/class/function/parameter)发送,但你需要为此设置路由。
-
如果您打算使用 OOP,我建议您开始研究诸如 Lumen、SlimFramework 等微框架。 IMO 框架将通过控制器(您正在寻找的)、视图和模型来保持您的代码干净、有条理和可维护。