Server IP : 49.212.180.16 / Your IP : 3.144.230.177 Web Server : Apache System : FreeBSD www2606.sakura.ne.jp 13.0-RELEASE-p14 FreeBSD 13.0-RELEASE-p14 #2: Mon Dec 9 13:54:55 JST 2024 root@www5301.sakura.ne.jp:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 User : utannto ( 1076) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/utannto/www/hironaka.biz/wp-content/plugins/easing-slider/src/Foundation/ |
Upload File : |
<?php namespace EasingSlider\Foundation; use Auryn\Injector as Container; use EasingSlider\Foundation\Contracts\Plugin as PluginContract; /** * Exit if accessed directly */ if ( ! defined('ABSPATH')) { exit; } abstract class Plugin extends Container implements PluginContract { /** * The one true plugin instance * * @var \EasingSlider\Foundation\Plugin */ private static $instance; /** * Aliases * * @var array */ protected $aliases = array(); /** * Singletons * * @var array */ protected $singletons = array(); /** * Main plugin instance * * Insures that only one instance of our plugin exists in memory at any one * time. Also prevents needing to define globals all over the place. * * @return \EasingSlider\Foundation\Plugin */ public final static function instance() { // Create instance if not already created if ( ! isset(self::$instance) && ! (self::$instance instanceof static)) { self::$instance = new static(); self::$instance->bindAliases(); self::$instance->bindSingletons(); self::$instance->boot(); } return self::$instance; } /** * __call function. * * @param string $name * @param array $arguments * @return mixed */ public function __call($name, $arguments) { if (isset($this->$name)) { return $this->$name; } } /** * Bind aliases * * @return void */ protected function bindAliases() { foreach ($this->aliases as $contract => $class) { $this->alias($contract, $class); } } /** * Bind singletons * * @return void */ protected function bindSingletons() { foreach ($this->singletons as $singleton) { $this->share($singleton); } $this->share($this); } /** * Boots the plugin * * @return void */ abstract protected function boot(); }