Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
plugins
/
popup-maker
/
classes
/
Plugin
:
Extension.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Extension base class * * @package PopupMaker\Plugin * @copyright Copyright (c) 2024, Code Atlantic LLC */ namespace PopupMaker\Plugin; defined( 'ABSPATH' ) || exit; /** * Abstract base class for all Popup Maker extensions. * * Override {@see Container::registered_controllers()} in child classes. * * @since 1.21.0 */ abstract class Extension extends Container { /** * Core plugin instance. * * @var \PopupMaker\Plugin\Core */ protected $core; /** * Extension constructor. * * @param array<string,string|bool> $config Configuration variables. */ public function __construct( $config ) { parent::__construct( $config ); // Get core plugin instance. $this->core = \PopupMaker\plugin(); } /** * Get core plugin instance. * * @return \PopupMaker\Plugin\Core */ public function core() { return $this->core; } /** * Get a service or configuration variable. * * @param string $id Service or configuration variable ID. * @return mixed * @throws \PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException */ public function get( $id ) { try { return parent::get( $id ); } catch ( \PopupMaker\Vendor\Pimple\Exception\UnknownIdentifierException $e ) { if ( $this->core()->offsetExists( $id ) ) { return $this->core()->get( $id ); } // Re-throw the exception if we couldn't find the service. throw $e; } } }