通过html表单调用PHP类

通过html表单调用PHP类,php,Php,只是在想一些事情。我有一个标准的html表单。在后端,我使用PHP来处理一些API,并使所有内容都面向对象。除了一件事之外,我对一切都很满意。表单操作调用的PHP文件如下所示 <?php include 'APIConnection.php'; if (isset($_POST["emailAddress"]) && !empty($_POST["emailAddress"])){ $email = $_POST["emailAddress"]; $co

只是在想一些事情。我有一个标准的html表单。在后端,我使用PHP来处理一些API,并使所有内容都面向对象。除了一件事之外,我对一切都很满意。表单操作调用的PHP文件如下所示

<?php

include 'APIConnection.php';

if (isset($_POST["emailAddress"]) && !empty($_POST["emailAddress"])){
    $email = $_POST["emailAddress"];
    $connection = new APIConnection();
    $response = $connection->getData($email);
}

例如,您可以做如下操作:

<?php

// new InputHandler class in file: InputHandler.php
class InputHandler {

    public static function post($param_name, $default_value) {
        return (array_key_exists($param_name, $_POST) && !is_null($_POST[$param_name]) ? $_POST[$param_name] : $default_value);
    }

    public static function sanitize_email($value) {
        return filter_var($value, FILTER_SANITIZE_EMAIL);
    }

    public static function validate_email($value) {
        return filter_var($value, FILTER_VALIDATE_EMAIL);
    }
}

听起来您并不是在使用框架,但表单发布到的文件本质上是您的路由器。在这种情况下,它只是特定于这种形式。如果您想要更通用的东西,您可以将所有请求路由到一个文件,并在那里处理所有加载。您可以通过mod_重写来实现这一点。下面的示例使用index.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*+)$ index.php?q=$1 [L]

我不知道您的代码结构,但是index.php可以基于路由或适当的API加载适当的控制器(如果您的代码库就是这样的话)。这将是一种RESTful风格的方法

这个问题不清楚,您可以定义,然后可以使用APIConnection类的关键字导入它。
isset
!空的
等于相同的东西。你只需要
!空的
,因为它不能不空也不能设置!
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*+)$ index.php?q=$1 [L]