HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/delta/wp-content/plugins/better-wp-security/core/lib/Stellar_Container.php
<?php

namespace iThemesSecurity\Lib;

use iThemesSecurity\Strauss\Pimple\Container;
use iThemesSecurity\Strauss\StellarWP\ContainerContract\ContainerInterface;

class Stellar_Container implements ContainerInterface {

	/** @var Container */
	private $container;

	public function __construct( Container $container ) { $this->container = $container; }

	public function bind( string $id, $implementation = null ) {
		$this->container[ $id ] = $this->container->factory( $this->make_builder( $implementation ) );
	}

	public function get( string $id ) {
		return $this->container[ $id ];
	}

	public function has( string $id ) {
		return isset( $this->container[ $id ] );
	}

	public function singleton( string $id, $implementation = null ) {
		$this->container[ $id ] = $this->make_builder( $implementation );
	}

	private function make_builder( $implementation ): \Closure {
		return static function ( Container $c ) use ( $implementation ) {
			if ( is_string( $implementation ) && class_exists( $implementation ) ) {
				return new $implementation();
			}

			if ( $implementation instanceof \Closure ) {
				return $implementation();
			}

			return $implementation;
		};
	}
}