protected function __construct() { register_activation_hook(self::get('file'), array($this, 'activation')); register_deactivation_hook(self::get('file'), array($this, 'deactivation')); add_action('activated_plugin', array($this, 'switch_plugin_hook'), 10, 2); add_action('deactivated_plugin', array($this, 'switch_plugin_hook'), 10, 2); parent::__construct(); }
echo "Перехват: получаем значение {$name}.<br />"; // Возвращаем null, если "виртуальное" свойство еще не определено. return isset($this->vars[$name]) ? $this->vars[$name] : null; } // Перехват установки значения свойства. public function __set($name, $value) { echo "Перехват: устанавливаем значение {$name} равным '{$value}'.<br />"; //Перед записью значения удаляем пробелы. return $this->vars[$name] = trim($value); } // Перехват вызова несуществующего метода. public function __call($name, $args) { echo "Перехват: вызываем {$name} с аргументами: "; var_dump($args); return $args[0]; } } // Иллюстрация работы класса. $obj = new Hooker(); echo "<b>Получаем значение обычного свойства.</b><br />"; echo "Значение: {$obj->opened}<br />"; echo "<b>Вызываем обычный метод.</b><br />"; $obj->method(); echo "<b>Присваивание несуществующему свойству.</b><br />"; $obj->nonExistent = 101; echo "<b>Получение значения несуществующего свойства.</b><br />"; echo "Значение: {$obj->nonExistent}<br />"; echo "<b>Обращение к несуществующему методу.</b><br />"; $obj->nonExistent(6);
public function test_transformHookNameToClass() { $actual = $this->hooker->transformHookNameToClass('pre-commit'); $this->assertSame('HookPreCommit', $actual); }
protected function __construct() { add_action('after_switch_theme', array($this, 'activation'), 10, 2); add_action('switch_theme', array($this, 'deactivation'), 10, 2); parent::__construct(); }