Page MenuHomeWickedGov Phorge

EventListener.php
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

EventListener.php

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

File Metadata

Mime Type
text/x-php
Expires
Aug 19 2026, 18:11 (5 w, 6 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
a2/23/6e0d925ba45895fa30edd1c53437
Default Alt Text
EventListener.php (2 KB)

Event Timeline