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

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

WBOY
WBOYOriginal
2016-06-06 20:35:07866Durchsuche

我接触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 开始被默认启用。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn