* If PHP-DI's container is wrapped by another container, we can
* set this so that PHP-DI will use the wrapper rather than itself for building objects.
*
* @return $this
*/
public function wrapContainer(ContainerInterface $otherContainer) : self
{
$this->ensureNotLocked();
$this->wrapperContainer = $otherContainer;
return $this;
}
/**
* Add definitions to the container.
*
* @param string|array|DefinitionSource ...$definitions Can be an array of definitions, the
* name of a file containing definitions
* or a DefinitionSource object.
* @return $this
*/
public function addDefinitions(...$definitions) : self
{
$this->ensureNotLocked();
foreach ($definitions as $definition) {
if (!\is_string($definition) && !\is_array($definition) && !$definition instanceof DefinitionSource) {
throw new InvalidArgumentException(\sprintf('%s parameter must be a string, an array or a DefinitionSource object, %s given', 'ContainerBuilder::addDefinitions()', \is_object($definition) ? \get_class($definition) : \gettype($definition)));
}
$this->definitionSources[] = $definition;
}
return $this;
}
/**
* Enables the use of APCu to cache definitions.
*
* You must have APCu enabled to use it.
*
* Before using this feature, you should try these steps first:
* - enable compilation if not already done (see `enableCompilation()`)
* - if you use autowiring or annotations, add all the classes you are using into your configuration so that
* PHP-DI knows about them and compiles them
* Once this is done, you can try to optimize performances further with APCu. It can also be useful if you use
* `Container::make()` instead of `get()` (`make()` calls cannot be compiled so they are not optimized).
*
* Remember to clear APCu on each deploy else your application will have a stale cache. Do not enable the cache
* in development environment: any change you will make to the code will be ignored because of the cache.
*
* @see https://php-di.org/doc/performances.html
*
* @param string $cacheNamespace use unique namespace per container when sharing a single APC memory pool to prevent cache collisions
* @return $this
*/
public function enableDefinitionCache(string $cacheNamespace = '') : self
{
$this->ensureNotLocked();
$this->sourceCache = \true;
$this->sourceCacheNamespace = $cacheNamespace;
return $this;
}
/**
* Are we building a compiled container?
*/
public function isCompilationEnabled() : bool
{
return (bool) $this->compileToDirectory;
}
private function ensureNotLocked()
{
if ($this->locked) {
throw new \LogicException('The ContainerBuilder cannot be modified after the container has been built');
}
}
}
Fatal error: Uncaught Error: Class 'ElementorProDeps\DI\ContainerBuilder' not found in /var/www/html/dportilho.com.br/web/wp-content/plugins/elementor-pro/core/container/container.php:34
Stack trace:
#0 /var/www/html/dportilho.com.br/web/wp-content/plugins/elementor-pro/core/container/container.php(50): ElementorPro\Core\Container\Container::initialize()
#1 /var/www/html/dportilho.com.br/web/wp-content/plugins/elementor-pro/plugin.php(151): ElementorPro\Core\Container\Container::get_instance()
#2 /var/www/html/dportilho.com.br/web/wp-content/plugins/elementor-pro/plugin.php(567): ElementorPro\Plugin::instance()
#3 /var/www/html/dportilho.com.br/web/wp-content/plugins/elementor-pro/elementor-pro.php(100): require('/var/www/html/d...')
#4 /var/www/html/dportilho.com.br/web/wp-includes/class-wp-hook.php(324): elementor_pro_load_plugin('')
#5 /var/www/html/dportilho.com.br/web/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
#6 /var/www/html/dportilho.com.br/web/wp-includes/plugin.php(517): WP_Hook->do_ in /var/www/html/dportilho.com.br/web/wp-content/plugins/elementor-pro/core/container/container.php on line 34