private and static 的错误提交

konakona 发布于 2014/03/07 20:18
阅读 398
收藏 1

Strict Standards: Non-static method SlightPHP::debug() should not be called statically in /smpss/slightPHP/SlightPHP.php on line 275

服务环境 PHP5.4 MYSQL5.5 APACHE 2.2

这个混乱的静态调用的方法只在PHP5.2之前适用,在之后的版本中已修复,因此此框架不能应用于高级别版本PHP,如5.4。

加载中
0
konakona
konakona

http://stackoverflow.com/questions/15454220/replace-preg-replace-e-modifier-with-preg-replace-callback


继续补充一个后台问题。

0
傅小黑
傅小黑
你用现在的语言版本,去评价一个两年前的程序
konakona
konakona
在那个年代那样的用法也是不完全正确的。
0
齐迹
齐迹

具体我没去了解 5.4为什么会废弃这个写法。这类写法存在在很多框架和应用程序中。

这个问题也可以通过php.ini解决。

0
konakona
konakona

引用来自“齐迹”的答案

具体我没去了解 5.4为什么会废弃这个写法。这类写法存在在很多框架和应用程序中。

这个问题也可以通过php.ini解决。

static在内存中是公共的,其他编程语言里static无需申明,默认就是public,也不可能是private。
php在这点上混淆了,可能是觉得方便,static也比普通方法快捷3倍,但并未明确设计静态类的稳定性和可扩展性。


class test{
private static function a(){}
}
outside:


test::a();
//执行正常
不严谨,2年前我就认为php将来肯定会修复这种错误的用法。
0
konakona
konakona

商品的库存和说明无法INSERT。

原因是goods的模型里未插入……

返回顶部
顶部