访问PHP函数的替代方法

时间:2012-06-04 19:56:30

标签: php

目前,我正在使用标准PHP开发应用程序。因此,从表单调用各种各样的函数。一些示例包括注册,登录,注销等。

我没有为每个函数创建单独的文件,而是在includes文件夹中使用phpscripts.php文件。要从html输入执行函数,我使用?action=functionName填充URL。在脚本文件中,我使用switch / case树来执行基于S_GET['action']变量的正确函数。

有没有更好的方法来实现对PHP函数的HTML调用?

2 个答案:

答案 0 :(得分:1)

不,这是将HTML表单与PHP脚本连接的正确方法。其他替代方案包括使用URL重写(将/actions/functionname/param转换为?action=functionname&param=x),但基本原则保持不变。

答案 1 :(得分:1)

为了您的理智......考虑使用一个脚本来处理上述所有请求。像/process_action.php之类的东西。您可以处理统一操作,例如:检查以确保函数存在,检查登录用户,连接到数据库,创建共享资源等等。

如果你正在使用Apache,你可以使用mod重写使URL漂亮。你可以转

/actions/function/?restofquery

/process_action.php?action=function&restofquery

使用以下内容放置在您网站的.htaccess文件中。

RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/actions/([-_a-zA-Z0-9]+)/?$ /process_action.php?action=$1&%1 [L]

作为旁注,你的问题听起来像是在发现model/view/controller (MVC)的边缘。有几个伟大的框架作品,但不要让它阻止你滚动自己的。边做边学:)