Page MenuHomeWickedGov Phorge

EventHandlerNonNull.php
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

EventHandlerNonNull.php

<?php
// AUTOMATICALLY GENERATED. DO NOT EDIT.
// Use `composer build` to regenerate.
namespace Wikimedia\IDLeDOM\Helper;
use Wikimedia\IDLeDOM\Event;
trait EventHandlerNonNull {
// 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 mixed|null
*/
public function __invoke( ...$args ) {
'@phan-var \Wikimedia\IDLeDOM\EventHandlerNonNull $this';
// @var \Wikimedia\IDLeDOM\EventHandlerNonNull $this
return $this->invoke( $args[0] );
}
/**
* Create a EventHandlerNonNull from a callable.
*
* @param callable|\Wikimedia\IDLeDOM\EventHandlerNonNull $f
* @return \Wikimedia\IDLeDOM\EventHandlerNonNull
*/
public static function cast( $f ) {
if ( $f instanceof \Wikimedia\IDLeDOM\EventHandlerNonNull ) {
return $f;
}
return new class( $f ) implements \Wikimedia\IDLeDOM\EventHandlerNonNull {
use EventHandlerNonNull;
/** @var callable */
private $f;
/**
* @param callable $f
*/
public function __construct( $f ) {
$this->f = $f;
}
/**
* @param Event $event
* @return mixed|null
*/
public function invoke( /* Event */ $event ) {
$f = $this->f;
return $f( $event );
}
};
}
}

File Metadata

Mime Type
text/x-php
Expires
Aug 16 2026, 18:22 (11 w, 6 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
49/f4/3b4da2d5ceabcb20129bddcfa6a4
Default Alt Text
EventHandlerNonNull.php (2 KB)

Event Timeline