【问题标题】:Calling static methods automagically in PHP 5.2在 PHP 5.2 中自动调用静态方法
【发布时间】:2012-09-19 15:35:13
【问题描述】:

我重写了 Jamie Matthews 的 Idiorm ORM 以完全符合 PSR 编码标准;但是,我想保持与原始代码的向后兼容性。最初使用带下划线的方法名称,但 PSR 标准是驼峰式。我编写了一个 __call 方法来在创建对象时处理它,但它不适用于静态方法。 This commit 显示兼容性代码。

有没有办法让这项工作在调用静态方法的同时仍然保持 php 5.2 的兼容性?

【问题讨论】:

  • 我不这么认为。 __callStatic 仅在 PHP 5.3 中实现,在此之前我不知道有任何可能做你想做的事。
  • 是的,我也不这么认为,但想问一下。
  • 值得指出的是,PHP5.2 已在近两年前宣布终止使用。如果您仍在使用它,那么您已经严重过时,并且可能已经知道您的系统存在安全问题,因为从那时起没有为 5.2 发布任何新补丁。此外,PSR 编码标准是专门针对 PHP 5.3 及更高版本编写的。我猜他们不希望 5.2 上的任何人考虑最佳实践。

标签: php static php-5.2 magic-methods


【解决方案1】:

你需要__callStatic(),这只是introduced in PHP 5.3;没有它,我认为您将无法实现它。

【讨论】:

  • 是的,我也不这么认为,但想问一下。
猜你喜欢
  • 2011-03-08
  • 2011-01-07
  • 1970-01-01
  • 2016-05-13
  • 1970-01-01
  • 2013-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多