?????????? ????????? - ??????????????? - /opt/cpanel/ea-wappspector/vendor/rector/rector/src/DependencyInjection/Laravel/ContainerMemento.php
???????
<?php declare (strict_types=1); namespace Rector\DependencyInjection\Laravel; use RectorPrefix202411\Illuminate\Container\Container; use Rector\Util\Reflection\PrivatesAccessor; /** * Helper service to modify Laravel container */ final class ContainerMemento { /** * @api * @see https://tomasvotruba.com/blog/removing-service-from-laravel-container-is-not-that-easy */ public static function forgetTag(Container $container, string $tagToForget) : void { // 1. forget instances $taggedClasses = $container->tagged($tagToForget); foreach ($taggedClasses as $taggedClass) { $container->offsetUnset(\get_class($taggedClass)); } // 2. forget tagged references $privatesAccessor = new PrivatesAccessor(); $privatesAccessor->propertyClosure($container, 'tags', static function (array $tags) use($tagToForget) : array { unset($tags[$tagToForget]); return $tags; }); } public static function forgetService(Container $container, string $typeToForget) : void { // 1. remove the service $container->offsetUnset($typeToForget); // 2. remove all tagged rules $privatesAccessor = new PrivatesAccessor(); $privatesAccessor->propertyClosure($container, 'tags', static function (array $tags) use($typeToForget) : array { foreach ($tags as $tagName => $taggedClasses) { foreach ($taggedClasses as $key => $taggedClass) { if (\is_a($taggedClass, $typeToForget, \true)) { unset($tags[$tagName][$key]); } } } return $tags; }); } }
| ver. 1.6 |
Github
|
.
| PHP 8.2.30 | ??????????? ?????????: 0 |
proxy
|
phpinfo
|
???????????