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

api-platform / core / 14246153067

03 Apr 2025 02:56PM UTC coverage: 7.286% (-0.002%) from 7.288%
14246153067

push

github

web-flow
Merge commit from fork

12 of 160 new or added lines in 7 files covered. (7.5%)

2343 existing lines in 152 files now uncovered.

12450 of 170870 relevant lines covered (7.29%)

12.06 hits per line

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

53.85
/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);
1,070✔
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__\\');
1,135✔
41
        $positionPm = strrpos($className, '\\__PM__\\');
1,135✔
42

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

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

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

53
        return substr(
×
54
            $className,
×
55
            8 + $positionPm,
×
56
            strrpos($className, '\\') - ($positionPm + 8)
×
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

© 2025 Coveralls, Inc