【问题标题】:PHP Validation Class QuickiePHP 验证类 Quickie
【发布时间】:2012-11-22 20:50:50
【问题描述】:

有一个简单的问题,我正在为个人项目构建一个大型网站,我想我正在研究用于验证表单和数据等的类和函数。

我想我的问题是:

我可以使用一个类来容纳所有将根据传递的数据进行验证的函数吗?如果可以,我如何定位类中的某些函数(电子邮件地址、电话号码等)。

如果我的逻辑是正确的,它在代码格式中的表现如何?

谢谢

【问题讨论】:

  • 你为什么不检查一下 YII 是怎么做的呢?在你实现它的时候它可能会给你带来一些麻烦——但是一旦你有了它,你就可以毫无问题地编写 yii 风格的规则......然后你可以把它全部放在一个你可以扩展的类中你需要的目的
  • 我有点想自己学习这一点,而不是使用我的网站所依赖的框架。
  • 这就是我的意思...打开 yii 源代码,看看他们是如何做到的。我不建议你使用 yii 来实现你的网站。

标签: php class function


【解决方案1】:

您可以在一个类中静态定义您的验证函数。然后将这个类包含在你需要的地方。

class Validator {

    public static function validateEmail($email) {
        // validation logic for email
        // return true or false
    }

    public static function validatePhone($phone) {
        // validation logic for phone
        // return true or false
    }
}

// in a different file, where you want to use this class

require('validator.php');
$email = $_POST['email'];

if (Validator::validateEmail($email)) {
    // valid email
} else {
    // invalid email
}

【讨论】:

  • 谢谢 - 最好只在需要时调用验证器,还是包含所有文件的 config.php 文件会减慢网站速度?
  • 由于验证不是经常进行的事情,我建议仅在必要时包含该文件。
【解决方案2】:

我在 PHP 中创建了一个验证类来清理数据并将其放在我的 site 上。它扩展了基于命令 filter_var 和 FILTER_VALIDATE_INT 等常量的标准验证功能。这些功能可以:

  • 设置整数的上下边界
  • 设置浮动的上下边界
  • 验证不同类型值的布尔值
  • 设置字符串长度的上下边界
  • 检查某个值是否是数组的一部分
  • ....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-18
    • 2012-02-03
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多