Server IP : 15.235.198.142 / Your IP : 216.73.216.17 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/php/Symfony/Component/DependencyInjection/Exception/ |
Upload File : |
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\DependencyInjection\Exception; /** * Thrown when a definition cannot be autowired. */ class AutowiringFailedException extends RuntimeException { private string $serviceId; private ?\Closure $messageCallback = null; public function __construct(string $serviceId, string|\Closure $message = '', int $code = 0, ?\Throwable $previous = null) { $this->serviceId = $serviceId; if ($message instanceof \Closure && \function_exists('xdebug_is_enabled') && xdebug_is_enabled()) { $message = $message(); } if (!$message instanceof \Closure) { parent::__construct($message, $code, $previous); return; } $this->messageCallback = $message; parent::__construct('', $code, $previous); $this->message = new class($this->message, $this->messageCallback) { private string|self $message; private ?\Closure $messageCallback; public function __construct(&$message, &$messageCallback) { $this->message = &$message; $this->messageCallback = &$messageCallback; } public function __toString(): string { $messageCallback = $this->messageCallback; $this->messageCallback = null; try { return $this->message = $messageCallback(); } catch (\Throwable $e) { return $this->message = $e->getMessage(); } } }; } public function getMessageCallback(): ?\Closure { return $this->messageCallback; } /** * @return string */ public function getServiceId() { return $this->serviceId; } }