Page MenuHomeWickedGov Phorge

XPathNSResolver.php
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

XPathNSResolver.php

<?php
// AUTOMATICALLY GENERATED. DO NOT EDIT.
// Use `composer build` to regenerate.
namespace Wikimedia\IDLeDOM\Helper;
trait XPathNSResolver {
// Underscore is used to avoid conflicts with DOM-reserved names
// phpcs:disable PSR2.Methods.MethodDeclaration.Underscore
// phpcs:disable MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName
/**
* Handle an attempt to get a non-existing property on this
* object. The default implementation raises an exception
* but the implementor can choose a different behavior:
* return null (like JavaScript), dynamically create the
* property, etc.
* @param string $prop the name of the property requested
* @return mixed
*/
protected function _getMissingProp( string $prop ) {
$trace = debug_backtrace();
while (
count( $trace ) > 0 &&
$trace[0]['function'] !== "__get"
) {
array_shift( $trace );
}
trigger_error(
'Undefined property' .
' via ' . ( $trace[0]['function'] ?? '' ) . '(): ' . $prop .
' in ' . ( $trace[0]['file'] ?? '' ) .
' on line ' . ( $trace[0]['line'] ?? '' ),
E_USER_NOTICE
);
return null;
}
/**
* Handle an attempt to set a non-existing property on this
* object. The default implementation raises an exception
* but the implementor can choose a different behavior:
* ignore the operation (like JavaScript), dynamically create
* the property, etc.
* @param string $prop the name of the property requested
* @param mixed $value the value to set
*/
protected function _setMissingProp( string $prop, $value ): void {
$trace = debug_backtrace();
while (
count( $trace ) > 0 &&
$trace[0]['function'] !== "__set"
) {
array_shift( $trace );
}
trigger_error(
'Undefined property' .
' via ' . ( $trace[0]['function'] ?? '' ) . '(): ' . $prop .
' in ' . ( $trace[0]['file'] ?? '' ) .
' on line ' . ( $trace[0]['line'] ?? '' ),
E_USER_NOTICE
);
}
// phpcs:enable
/**
* Make this callback interface callable.
* @param mixed ...$args
* @return ?string
*/
public function __invoke( ...$args ) {
'@phan-var \Wikimedia\IDLeDOM\XPathNSResolver $this';
// @var \Wikimedia\IDLeDOM\XPathNSResolver $this
return $this->lookupNamespaceURI( $args[0] );
}
/**
* Create a XPathNSResolver from a callable.
*
* @param callable|\Wikimedia\IDLeDOM\XPathNSResolver $f
* @return \Wikimedia\IDLeDOM\XPathNSResolver
*/
public static function cast( $f ) {
if ( $f instanceof \Wikimedia\IDLeDOM\XPathNSResolver ) {
return $f;
}
return new class( $f ) implements \Wikimedia\IDLeDOM\XPathNSResolver {
use XPathNSResolver;
/** @var callable */
private $f;
/**
* @param callable $f
*/
public function __construct( $f ) {
$this->f = $f;
}
/**
* @param ?string $prefix
* @return ?string
*/
public function lookupNamespaceURI( ?string $prefix ): ?string {
$f = $this->f;
return $f( $prefix );
}
};
}
}

File Metadata

Mime Type
text/x-php
Expires
Tue, Aug 18, 21:36 (2 d, 18 h ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
33/6b/877e5e216e1ab975c3a53819c2de
Default Alt Text
XPathNSResolver.php (2 KB)

Event Timeline