在 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?
我不是在谈论给实际的 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?