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


Non-static method STemplate::assign() should not be called statically

我一直在尝试用我的验证码进行 php 梨验证,但我收到的只是严格的标准错误 - 有什么问题,我该如何解决它?

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

电子邮件验证.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'; 
}
?>

则函数email不是在类Validate中静态定义的。所以你不应该静态地调用它。创建该类的对象,然后调用该函数。喜欢

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

如果不能创建该类的对象,则在该类中将此函数声明为静态函数。喜欢

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

它告诉你把它表达

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