目前,我正在使用标准 PHP 开发应用程序。因此,有各种从表单调用的函数。一些示例包括注册、登录、注销等。
我没有为每个函数创建一个单独的文件,而是使用phpscripts.php
包含文件夹中的一个文件。为了从 html 输入执行一个函数,我用?action=functionName
. 在脚本文件中,我使用 switch/case 树来执行基于S_GET['action']
变量的正确函数。
有没有更好的方法来实现对 PHP 函数的 HTML 调用?
目前,我正在使用标准 PHP 开发应用程序。因此,有各种从表单调用的函数。一些示例包括注册、登录、注销等。
我没有为每个函数创建一个单独的文件,而是使用phpscripts.php
包含文件夹中的一个文件。为了从 html 输入执行一个函数,我用?action=functionName
. 在脚本文件中,我使用 switch/case 树来执行基于S_GET['action']
变量的正确函数。
有没有更好的方法来实现对 PHP 函数的 HTML 调用?
不,这是将 HTML 表单与 PHP 脚本接口的正确方法。其他替代方案包括使用 URL 重写(将类似的东西转换/actions/functionname/param
为?action=functionname¶m=x
),但基本原理保持不变。
为了您的理智...考虑使用一个脚本来处理上述所有请求。/process_action.php 之类的东西。您确实处理统一的操作,例如:检查以确保功能存在、检查登录用户、连接到数据库、创建共享资源等......
如果您使用的是 Apache,则可以使用 mod rewrite 使 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]
作为旁注,您的问题听起来像是您即将发现模型/视图/控制器 (MVC)。有几个很棒的框架,但不要让那些阻止你自己动手。通过实践学习 :)