【发布时间】:2012-08-29 10:18:55
【问题描述】:
如果我使用范围解析运算符调用公共函数,它不会给出任何错误。
class Parent_class
{
public function st_function()
{
echo "*************parent class************\n";
}
}
Parent_class:: st_function();
但在 php.net 上的 PHP 文档中,考虑到 - 静态调用非静态方法会生成 E_STRICT 级别的警告。还鉴于 - 无法使用箭头运算符通过对象访问静态属性 -> 但它没有给出任何错误。谁能解释一下?
class Parent_class
{
public static function st_function()
{
echo "*************parent class************\n";
}
}
Parent_class:: st_function();
$var = new Parent_class();
$var->st_function();
【问题讨论】:
-
您是否使用严格的错误报告?
-
是的,对..当我添加 error_reporting(E_STRICT) 时,它作为严格标准发出通知:非静态方法 Parent_class::st_function() 不应在 D:\wamp\www\ 中静态调用第 103 行的 test.php
标签: php