【问题标题】:Providing PHP5.3+ namespaced classname aliasses for PHP5.2- framework为 PHP5.2- 框架提供 PHP5.3+ 命名空间的类名别名
【发布时间】:2014-02-04 01:28:42
【问题描述】:

我有一些 PHP5.2- 框架使用像这样的长类名:

class Product_Sub_SomeClass {
    ...
}

我希望能够为 PHP5.3+ 用户提供一种使用命名空间和短类名的方法,同时保持框架的 PHP5.2 兼容性。

上面的示例类在 PHP5.3 开发者的代码中应该是可用的:

use Product\Sub;
$someclass = new SomeClass();

但是完全相同的类(相同的源代码)也应该对 PHP5.2 用户可用:

$someclass = new Product_Sub_SomeClass();

我可以只提供一个处理所有别名的附加文件,还是有其他或更好的机制可用?

向 PHP5.2- 框架的 PHP5.3+ 用户提供命名空间和类别名的最佳做法是什么?

【问题讨论】:

    标签: php class namespaces alias classname


    【解决方案1】:

    找到了我自己对这个问题的答案:

    class Product_Sub_SomeClass {
        ...
    }
    
    // Alternative PHP 5.3+ namespace\class
    if (function_exists('class_alias')) {
        class_alias('Product_Sub_SomeClass', 'Product\Sub\SomeClass');
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2012-02-23
      • 1970-01-01
      相关资源
      最近更新 更多