首页  >  文章  >  后端开发  >  static - 请问下PHP中5.3之前的版本和5.3之后的版本在静态化类 上面有什么区别吗?

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

WBOY
WBOY原创
2016-06-06 20:35:07866浏览

我接触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