AJAX网址调用上的多个PHP脚本 - php

创建AJAX调用没有问题,但目前每个URL都必须是唯一的。我希望在同一文件中包含多个PHP函数,并专门通过特定的AJAX调用来访问其中一个PHP函数。

目前,我使用jQuery传递带有整数规范的.data参数,然后在PHP文件中使用$ _GET方法并运行由整数指定的正确函数。

我该如何做得更好?我想在PHP文件中的许多函数中调用特定函数;我不想每个功能都有单独的文件

参考方案

我可以告诉您采用快速而肮脏的解决方案,即在调用中传递function参数,然后:

switch($_GET['function'])
{

case 'show':    
    show();
    break;

case 'delete':
    delete();
    break;

case 'awesome':

    awesome();
    break;

}

但这是完全无法维持的,因为您将陷入一团糟的包含,甚至更糟的是陷入无法在任何地方重用的大量代码列。

我建议您进入路由,即在所指向的URL与所调用的函数之间建立关系,并在需要时使用参数(例如下面的第二个示例):

/users              --> printAllUsers
/users/123          --> printUser($id)
/products/beers     --> printProducts($category)
/search             --> search()
...

这样,您就可以将路由本身与响应生成分离:可以找到更好的总体解释here,然后可以找到非常好的精简库here,可以在项目中使用它而无需依赖整个框架。

啊,在使用OOP,MVC,RESTful服务之类的流行语之前,当然应该学习所有这些知识,然后坚持使用第一个概念:当我开始学习所有这些东西时,我真的很想念这个概念,对我来说尤里卡。

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…