【问题标题】:Call a PHP Function Dynamically.动态调用 PHP 函数。
【发布时间】:2012-07-17 17:42:12
【问题描述】:

我有一个简单的问题,我目前正在以目前的方式处理php/ajax请求。

// ajax_requests.php

<?php
 if(isset($_POST['ajaxvar'] == 'send')){
   // send timestamp
 }
 if(isset($_POST['ajaxvar'] == 'get')){
   // return get
 }
?>

有没有更好的方法来处理这些请求?除了这种有点臃肿的处理请求的方式。

【问题讨论】:

  • 您的jQuery 代码在哪里?你试过什么?
  • 您可以有不同的请求页面。我倾向于将我的页面和 ajax 函数保持在 1:1 的比例。
  • 你可以拥有功能并使用call_user_func()
  • 感谢 arxanas,我尝试保持这种方式,但我要么最终得到大量 PHP 文件,要么以上述方式处理 ajax 请求的一些 PHP 文件。有没有更好的方法来处理来自一个 PHP 文件的多个请求?
  • 改进当前设计:您可以确保设置了$_POST['ajaxvar'],然后使用switch 构造

标签: php function post dynamic


【解决方案1】:

如果您以您在“ajaxvars”中发布的值命名您的函数,那么您可以像这样运行它们:

if (isset($_POST['ajaxvars'])) $_POST['ajaxvars']();

function send(){
    // send timestamp
}

function get(){
    // return get
}

因此,如果您有 $_POST['ajaxvars'] == 'send',脚本将运行 send() 函数。 get 也一样。

首先检查发布的函数是否存在也是一个好主意,所以:

if (function_exists($_POST['ajaxvars'])) $_POST['ajaxvars']();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多