目前,我正在使用标准PHP开发应用程序。因此,从表单调用各种各样的函数。一些示例包括注册,登录,注销等。
我没有为每个函数创建单独的文件,而是在includes文件夹中使用phpscripts.php
文件。要从html输入执行函数,我使用?action=functionName
填充URL。在脚本文件中,我使用switch / case树来执行基于S_GET['action']
变量的正确函数。
有没有更好的方法来实现对PHP函数的HTML调用?
答案 0 :(得分:1)
不,这是将HTML表单与PHP脚本连接的正确方法。其他替代方案包括使用URL重写(将/actions/functionname/param
转换为?action=functionname¶m=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)的边缘。有几个伟大的框架作品,但不要让它阻止你滚动自己的。边做边学:)