在 PHP 中有没有办法给 function/method 调用起别名?

In PHP is there a way to alias function/method calls?

我不是在谈论给实际的 function/method 名字本身加上别名,而是给他们的电话加上别名:

$test->some_method($a,$b);

我们可以将上面的别名命名为:

$t_sm($a,$b);

同样,我不是在谈论给实际的 function/method 名称起别名,而是他们的实际调用,减去参数。

编辑

不,我不想创建包装函数。并严格查看此处的可读性目的。这样可读性更高。

编辑

在为实际方法调用设置别名时,它包括对象的名称,包括它正在调用的方法。就好像我只是给方法起别名一样,我仍然必须明确地调用它的对象。

编辑 是否有这样的方法调用别名:

class Foo
{   
    function Bar($msg)
    {
        echo $msg;
    }
}

$f_b = 'Foo::Bar';
$msg = "calling method Bar via method-call-aliasing.";
$f_b($msg);

它创建 Foo 的实例和该实例的别名以及指定的方法('Bar' 字符串的一部分 'Foo::Bar')。

您需要创建一个 callable 伪类型,它对于对象方法是一个数组,例如:

$t_sm = [$test, 'some_method'];

这可以调用为:

$t_sm($a, $b);

更多文档:http://php.net/manual/en/functions.variable-functions.php

嗨,兄弟,我想你正在找这个。之前有人质疑过:

<?php
 namespace Name\Space {
    const FOO = 42;
   function f() { echo __FUNCTION__."\n"; }
}

namespace {
    use const Name\Space\FOO;
     use function Name\Space\f;

    echo FOO."\n";
    f();
}
?>

输出: 42

Name\Space\f

参考:http://docs.php.net/manual/en/migration56.new-features.php#migration56.new-features.use

Can we alias a function in php?