php – Alias类方法作为全局函数

是否可以将类方法别名为全局函数?

我有一个类作为PHP中gettext函数的包装器.我有一个名为_t()的函数来处理翻译.

我希望能够从我的代码中的任何地方将其称为_t(),而不必通过实例化对象($translate :: _ t())来实现,因为这看起来非常笨拙.

我想过使用命名空间给对象一个别名:

Use translations\TranslationClass as T

虽然这是一个更好的改进:T :: _ t().它仍然没有必要只需要做_t().

有没有在整个应用程序中将T :: _ t()替换为_t()?

最佳答案 您可以创建包装函数或使用create_function().

function _t() {
    call_user_func_array(array('TranslationClass', '_t'), func_get_arts());
}

或者你可以动态创建一个函数:

$t = create_function('$string', 'return TranslationClass::_t($string);');

// Which would be used as:
print $t('Hello, World');
点赞