>  기사  >  백엔드 개발  >  static - 请问下PHP中5.3之前的版本和5.3之后的版本在静态化类 上面有什么区别吗?

static - 请问下PHP中5.3之前的版本和5.3之后的版本在静态化类 上面有什么区别吗?

WBOY
WBOY원래의
2016-06-06 20:35:07865검색

我接触PHP 都是接触5.6版本的以前的版本没接触 求高手帮忙,

我的PHP 用5.3版本就不报错,

已改成5.6版本就开始报错说静态类不能使用, static public function(){ ....}

<code>**Strict Standards: Non-static method cls_image::gd_version() should not be called statically in F:\WWW\weixin\includes\lib_base.php on line 276

Strict Standards: Non-static method cls_image::gd_version() should not be called statically in F:\WWW\weixin\includes\lib_base.php on line 276

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in F:\WWW\weixin\includes\cls_template.php on line 300


Strict Standards: Non-static method cls_image::gd_version() should not be called statically in F:\WWW\weixin\includes\lib_base.php on line 276**
</code>

回复内容:

我接触PHP 都是接触5.6版本的以前的版本没接触 求高手帮忙,

我的PHP 用5.3版本就不报错,

已改成5.6版本就开始报错说静态类不能使用, static public function(){ ....}

<code>**Strict Standards: Non-static method cls_image::gd_version() should not be called statically in F:\WWW\weixin\includes\lib_base.php on line 276

Strict Standards: Non-static method cls_image::gd_version() should not be called statically in F:\WWW\weixin\includes\lib_base.php on line 276

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in F:\WWW\weixin\includes\cls_template.php on line 300


Strict Standards: Non-static method cls_image::gd_version() should not be called statically in F:\WWW\weixin\includes\lib_base.php on line 276**
</code>

php的语法变规范,变严谨了,所以以前不符合规范的代码就会给提示,这是好事,你要习惯。

ecshopcls_image库中gd_version不是一个静态方法

http://de2.php.net/manual/en/language.oop5.static.php

Calling non-static methods statically generates an E_STRICT level warning.
用静态方式调用一个非静态方法会导致一个 E_STRICT 级别的错误。

http://us2.php.net/manual/en/errorfunc.constants.php

E_STRICT Enable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code. Since PHP 5 but not included in E_ALL until PHP 5.4.0
E_STRICT 启用 PHP 对代码的修改建议,以确保代码具有最佳的互操作性和向前兼容性。从 PHP 5.4 开始被默认启用。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.