是否有可能PHP (as it is in C++)
宣布一个class method
OUTSIDEclass definition?
不,从PHP 5.2开始.但是,您可以使用__call
magic方法将调用转发给任意函数或方法.
class A { public function __call($method, $args) { if ($method == 'foo') { return call_user_func_array('bar', $args); } } } function bar($x) { echo $x; } $a = new A(); $a->foo('12345'); // will result in calling bar('12345')
在PHP 5.4中,支持特征.Trait是一种方法的实现,无法将其实例化为独立对象.相反,trait可用于扩展具有包含实现的类.了解更多关于性状这里.
是的,可以在定义PHP类之后将其添加到PHP类中.您想使用classkit,这是一个"实验性"扩展.看来默认情况下没有启用此扩展,因此它取决于您是否可以编译自定义PHP二进制文件或加载PHP DLL(如果在Windows上)(例如Dreamhost允许自定义PHP二进制文件,并且它们很容易设置).
bar('Hello world!');
PHP手册中的示例:
add(12, 4);