for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace SMW\Scribunto;
use Hooks;
/**
* @license GNU GPL v2+
* @since 1.0
*
* @author mwjames
*/
class HookRegistry {
* @var array
private $handlers = [];
* @param array $options
$options
This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.
Consider the following example. The parameter $italy is not defined by the method finale(...).
$italy
finale(...)
/** * @param array $germany * @param array $island * @param array $italy */ function finale($germany, $island) { return "2:1"; }
The most likely cause is that the parameter was removed, but the annotation was not.
public function __construct() {
$this->addCallbackHandlers();
}
public function clear() {
foreach ( $this->handlers as $name => $callback ) {
Hooks::clear( $name );
public function register() {
Hooks::register( $name, $callback );
* @param string $name
* @return boolean
public function isRegistered( $name ) {
return Hooks::isRegistered( $name );
* @return Callable|false
public function getHandlerFor( $name ) {
return isset( $this->handlers[$name] ) ? $this->handlers[$name] : false;
private function addCallbackHandlers() {
$this->handlers['ScribuntoExternalLibraries'] = function( $engine, array &$extraLibraries ) {
$extraLibraries['mw.smw'] = 'SMW\Scribunto\ScribuntoLuaLibrary';
return true;
};
This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.
Consider the following example. The parameter
$italy
is not defined by the methodfinale(...)
.The most likely cause is that the parameter was removed, but the annotation was not.