diff options
author | polo <ordipolo@gmx.fr> | 2024-08-13 23:45:21 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2024-08-13 23:45:21 +0200 |
commit | bf6655a534a6775d30cafa67bd801276bda1d98d (patch) | |
tree | c6381e3f6c81c33eab72508f410b165ba05f7e9c /vendor/doctrine/orm/src/Proxy/DefaultProxyClassNameResolver.php | |
parent | 94d67a4b51f8e62e7d518cce26a526ae1ec48278 (diff) | |
download | AppliGestionPHP-bf6655a534a6775d30cafa67bd801276bda1d98d.zip |
VERSION 0.2 doctrine ORM et entités
Diffstat (limited to 'vendor/doctrine/orm/src/Proxy/DefaultProxyClassNameResolver.php')
-rw-r--r-- | vendor/doctrine/orm/src/Proxy/DefaultProxyClassNameResolver.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/vendor/doctrine/orm/src/Proxy/DefaultProxyClassNameResolver.php b/vendor/doctrine/orm/src/Proxy/DefaultProxyClassNameResolver.php new file mode 100644 index 0000000..1345f2e --- /dev/null +++ b/vendor/doctrine/orm/src/Proxy/DefaultProxyClassNameResolver.php | |||
@@ -0,0 +1,35 @@ | |||
1 | <?php | ||
2 | |||
3 | declare(strict_types=1); | ||
4 | |||
5 | namespace Doctrine\ORM\Proxy; | ||
6 | |||
7 | use Doctrine\Persistence\Mapping\ProxyClassNameResolver; | ||
8 | use Doctrine\Persistence\Proxy; | ||
9 | |||
10 | use function strrpos; | ||
11 | use function substr; | ||
12 | |||
13 | /** | ||
14 | * Class-related functionality for objects that might or not be proxy objects | ||
15 | * at the moment. | ||
16 | */ | ||
17 | final class DefaultProxyClassNameResolver implements ProxyClassNameResolver | ||
18 | { | ||
19 | public function resolveClassName(string $className): string | ||
20 | { | ||
21 | $pos = strrpos($className, '\\' . Proxy::MARKER . '\\'); | ||
22 | |||
23 | if ($pos === false) { | ||
24 | return $className; | ||
25 | } | ||
26 | |||
27 | return substr($className, $pos + Proxy::MARKER_LENGTH + 2); | ||
28 | } | ||
29 | |||
30 | /** @return class-string */ | ||
31 | public static function getClass(object $object): string | ||
32 | { | ||
33 | return (new self())->resolveClassName($object::class); | ||
34 | } | ||
35 | } | ||