不应静态调用非静态方法STemplate :: assign()

时间:2014-12-05 03:55:40

标签: php

我一直在尝试使用我的验证码进行php pear验证,但我收到的都是严格的标准错误 - 问题是什么以及如何解决?

严格标准:非静态方法不应在第5行的C:\ wamp \ www \ chap5 \ EmailValidation.php中静态调用Validate :: email() 严格标准:非静态方法不应在第11行的C:\ wamp \ www \ chap5 \ EmailValidation.php中静态调用Validate :: email()

电子邮件验证.php

<?php require_once "Validate.php";

$email = '"Doe, John" <johndoe@example.net>'; 
if(Validate::email($email, array('use_rfc822'=> true))){
    echo 'Valid!';
}
else {
    echo $email . " failed."; 
}

if (Validate::email($email, array('check_domain' => true))){
    echo $email . ' is valid and domain exists'; 
}

?>

2 个答案:

答案 0 :(得分:0)

然后在类email中没有静态定义函数Validate。所以你不应该静态地称呼它。创建该类的对象,然后调用该函数。像

$validator = new Validation();
$validator->email($email, array('use_rfc822'=> true));  // instead of Validate::email

如果您无法创建该类的对象,则在该类中将此函数声明为static。 像

public static function email(Arg_same_as_it_is){
   ...
   ...
}

答案 1 :(得分:0)

它告诉你把它表达为

$validate = new Validate();
$validate->email()
// ...