[英]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.