当前位置: 首页 > 知识库问答 >
问题:

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

太叔超英
2023-03-14

我一直试图用我的验证代码进行php pear验证,但我收到的都是严格标准错误--问题是什么?我如何修复它?

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

?>

共有1个答案

靳涵亮
2023-03-14

则函数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){
   ...
   ...
}
 类似资料:
  • 我最近对 PHP 5.4 进行了更新,但收到有关静态和非静态代码的错误。 这是错误: 这是第371行: 我希望有人能帮忙。

  • 我正在使用存储库模式并尝试建立模型之间的关系。当我尝试运行存储()方法(在控制器中),该方法试图使用用户()方法(与方模型建立关系)时,我收到以下错误消息: 非静态方法不应该静态调用::user(),假设$this来自不兼容的上下文 我不明白为什么在尝试运行user()relationship方法时会出现此错误,但所有其他方法(包括$this- 以下是相关代码:

  • PHP严格标准:不应在第33行的/web/sites/blah/somescript.PHP中静态调用非静态方法pear::iserror() 我在MDB2上看到了类似的错误。稍后再详细介绍。 somescript.php: 问题 是否有不同的方法来调用而不会产生错误?

  • 我正在尝试在varGrant CentOS VM上本地运行一个codegniter站点。我已经下载了所有文件,并设置了yaml/host文件等。 我在屏幕上看到这个错误。 遇到 PHP 错误 严重性:8192 消息:非静态方法 MY_Loader::d efine_module() 不应静态调用,假设$this来自不兼容的上下文 文件名:controllers/Front _ controller

  • 我正在努力得到一个用户的基础上,他的id或电子邮件后,他登录通过一个表单。这个函数是在user.class.php中定义的,我想在另一个名为profile.php的php文件中调用它,但它仍然给我带来语法错误,我不知道如何修复它。 错误:不推荐使用:不应静态调用非静态方法User::GetUserId()注意:未定义变量:email in 使用getters和setters,函数 下面是profi

  • 我在magento日志中得到这个错误: 严格注意:非静态方法 Mage_Catalog_Block_Product:getPriceHtml() 不应静态调用,假设$this来自第 23 行 /home/edistico/domains/fujitsu-skener.si/public_html/app/design/frontend/base/default/template/callforpr