%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/www/admin1/vendor/phpro/grumphp/src/Task/Config/ |
Upload File : |
<?php
declare(strict_types=1);
namespace GrumPHP\Task\Config;
class LazyTaskConfig implements TaskConfigInterface
{
/**
* @var callable() : TaskConfigInterface
*/
private $configFactory;
/**
* @var null|TaskConfigInterface
*/
private $config;
/**
* @param callable() : TaskConfigInterface $configFactory
*/
public function __construct(callable $configFactory)
{
$this->configFactory = $configFactory;
}
public function getName(): string
{
return $this->proxy()->getName();
}
public function getOptions(): array
{
return $this->proxy()->getOptions();
}
public function getMetadata(): Metadata
{
return $this->proxy()->getMetadata();
}
private function proxy(): TaskConfigInterface
{
if (!$this->config) {
$this->config = ($this->configFactory)();
}
return $this->config;
}
}