在PHP中使用命名空间为回调的静态函数
php函数在PHP中使用命名空间为回调的静态函数,php,callback,namespaces,Php,Callback,Namespaces,php函数array\u map允许您指定一个字符串,该字符串引用静态方法,如array\u map('MyClass::method',$arr)。这如何与use语句结合使用 假设我有两个PHP文件。第一个称为b.php: <?php namespace B; class A { static function bar($i) { return $i+1; } } 来自: 听起来这是故意的。在我看来是个bug。顺便说一句,使用['A','bar']作为第一个参数也
array\u map
允许您指定一个字符串,该字符串引用静态方法,如array\u map('MyClass::method',$arr)代码>。这如何与use
语句结合使用
假设我有两个PHP文件。第一个称为b.php:
<?php
namespace B;
class A {
static function bar($i) {
return $i+1;
}
}
来自:
听起来这是故意的。在我看来是个bug。顺便说一句,使用['A','bar']
作为第一个参数也会失败。
<?php
require 'b.php';
use B\A;
// this works perfectly fine
print A::bar(5);
$a = array(4, 2);
// this results in an error
$b = array_map('A::bar', $a);
// this works
$c = array_map('B\A::bar', $a);