[英]How can i catch a call of public static function in PHP?
<?php
class A
{
public static function foo()
{
// some action
}
public static function __callStatic($method, $args)
{
self::foo();
static::$method($args);
}
}
class B extends A
{
public static function bar(){}
}
我搜索PHP公共静态函数处理程序,我尝试__callStatic()
但它只调用私有和受保护的方法。
魔术方法,例如__call
和__callStatic
Docs仅针对您的类中不存在的方法调用。 当正常的方法调用发生时,它们不会被触发。 因此,使用公共方法无法实现这一目标。
但是,您可以将这些方法call_user_func
private / protected,并使用call_user_func
或call_user_func_array
在魔术方法中调用它们。 当然,这些函数的返回值也应该通过魔术方法返回。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.