• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

api-platform / core / 11035928124

25 Sep 2024 03:10PM UTC coverage: 5.963% (-1.9%) from 7.833%
11035928124

push

github

dunglas
Merge branch '4.0'

2 of 55 new or added lines in 6 files covered. (3.64%)

2414 existing lines in 166 files now uncovered.

9834 of 164915 relevant lines covered (5.96%)

4.85 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

38.46
/src/Metadata/Util/ClassInfoTrait.php
1
<?php
2

3
/*
4
 * This file is part of the API Platform project.
5
 *
6
 * (c) Kévin Dunglas <dunglas@gmail.com>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11

12
declare(strict_types=1);
13

14
namespace ApiPlatform\Metadata\Util;
15

16
/**
17
 * Retrieves information about a class.
18
 *
19
 * @internal
20
 *
21
 * @author Kévin Dunglas <dunglas@gmail.com>
22
 */
23
trait ClassInfoTrait
24
{
25
    /**
26
     * Get class name of the given object.
27
     */
28
    private function getObjectClass(object $object): string
29
    {
30
        return $this->getRealClassName($object::class);
372✔
31
    }
32

33
    /**
34
     * Get the real class name of a class name that could be a proxy.
35
     */
36
    private function getRealClassName(string $className): string
37
    {
38
        // __CG__: Doctrine Common Marker for Proxy (ODM < 2.0 and ORM < 3.0)
39
        // __PM__: Ocramius Proxy Manager (ODM >= 2.0)
40
        $positionCg = strrpos($className, '\\__CG__\\');
423✔
41
        $positionPm = strrpos($className, '\\__PM__\\');
423✔
42

43
        if (false === $positionCg && false === $positionPm) {
423✔
44
            return $className;
423✔
45
        }
46

UNCOV
47
        if (false !== $positionCg) {
×
48
            return substr($className, $positionCg + 8);
×
49
        }
50

UNCOV
51
        $className = ltrim($className, '\\');
×
52

UNCOV
53
        return substr(
×
UNCOV
54
            $className,
×
UNCOV
55
            8 + $positionPm,
×
UNCOV
56
            strrpos($className, '\\') - ($positionPm + 8)
×
UNCOV
57
        );
×
58
    }
59
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc