Automattic\WooCommerce\Utilities
CallbackUtil::get_invokable_signature
Get a stable signature for an invokable object based on its class and __invoke method location.
For regular classes, returns 'ClassName::__invoke' since the class name is stable. For anonymous classes, includes file location since the class name varies between requests.
Method of the class: CallbackUtil{}
No Hooks.
Returns
String. Signature in format 'ClassName::__invoke' or 'class@anonymous[hash]::__invoke@filename:startLine-endLine'.
Usage
$result = CallbackUtil::get_invokable_signature( $invokable ): string;
- $invokable(object) (required)
- The invokable object to generate a signature for.
CallbackUtil::get_invokable_signature() CallbackUtil::get invokable signature code WC 10.8.1
private static function get_invokable_signature( object $invokable ): string {
$method = new \ReflectionMethod( $invokable, '__invoke' );
$class = $method->getDeclaringClass();
if ( ! $class->isAnonymous() ) {
return $class->getName() . '::__invoke';
}
return sprintf(
'class@anonymous[%s]::__invoke@%s:%d-%d',
md5( $class->getName() ),
$method->getFileName(),
$method->getStartLine(),
$method->getEndLine()
);
}