2014-01-15 31 views
0

我有使用长的类名的几个PHP5.2-框架像这样:提供了PHP5.3 +命名空间为PHP5.2-框架类名aliasses

class Product_Sub_SomeClass { 
    ... 
} 

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

上面的示例类应该在PHP5.3开发人员的代码为可用:

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

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

$someclass = new Product_Sub_SomeClass(); 

我可以只提供一个额外的文件来处理所有的别名,或者是否有其他更好的机制?

为PHP5.3 + PHP5.2框架的用户提供名称空间和类别别的最佳实践是什么?

回答

0

发现我自己回答了这个问题:

class Product_Sub_SomeClass { 
    ... 
} 

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