~ubuntu-branches/ubuntu/wily/php-doctrine-common/wily-proposed

« back to all changes in this revision

Viewing changes to DoctrineCommon-2.3.0/Doctrine/Common/Persistence/Mapping/StaticReflectionService.php

  • Committer: Package Import Robot
  • Author(s): David Prévot
  • Date: 2014-06-15 11:26:00 UTC
  • mfrom: (2.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20140615112600-sg4mgpwq9sfg4mre
Tags: 2.4.2-2
* Upload to unstable
* No tests if DEB_BUILD_OPTIONS contains nocheck

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?php
2
 
/*
3
 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
4
 
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
5
 
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
6
 
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
7
 
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
8
 
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9
 
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
10
 
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
11
 
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
12
 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
13
 
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14
 
 *
15
 
 * This software consists of voluntary contributions made by many individuals
16
 
 * and is licensed under the MIT license. For more information, see
17
 
 * <http://www.doctrine-project.org>.
18
 
 */
19
 
 
20
 
namespace Doctrine\Common\Persistence\Mapping;
21
 
 
22
 
use ReflectionClass;
23
 
use ReflectionProperty;
24
 
 
25
 
/**
26
 
 * PHP Runtime Reflection Service
27
 
 *
28
 
 * @author Benjamin Eberlei <kontakt@beberlei.de>
29
 
 */
30
 
class StaticReflectionService implements ReflectionService
31
 
{
32
 
    /**
33
 
     * Return an array of the parent classes (not interfaces) for the given class.
34
 
     *
35
 
     * @param string $class
36
 
     * @return array
37
 
     */
38
 
    public function getParentClasses($class)
39
 
    {
40
 
        return array();
41
 
    }
42
 
 
43
 
    /**
44
 
     * Return the shortname of a class.
45
 
     *
46
 
     * @param string $className
47
 
     * @return string
48
 
     */
49
 
    public function getClassShortName($className)
50
 
    {
51
 
        if (strpos($className, '\\') !== false) {
52
 
            $className = substr($className, strrpos($className, "\\")+1);
53
 
        }
54
 
        return $className;
55
 
    }
56
 
 
57
 
    /**
58
 
     * Return the namespace of a class.
59
 
     *
60
 
     * @param string $className
61
 
     * @return string
62
 
     */
63
 
    public function getClassNamespace($className)
64
 
    {
65
 
        $namespace = '';
66
 
        if (strpos($className, '\\') !== false) {
67
 
            $namespace = strrev(substr( strrev($className), strpos(strrev($className), '\\')+1 ));
68
 
        }
69
 
        return $namespace;
70
 
    }
71
 
 
72
 
    /**
73
 
     * Return a reflection class instance or null
74
 
     *
75
 
     * @param string $class
76
 
     * @return ReflectionClass|null
77
 
     */
78
 
    public function getClass($class)
79
 
    {
80
 
        return null;
81
 
    }
82
 
 
83
 
    /**
84
 
     * Return an accessible property (setAccessible(true)) or null.
85
 
     *
86
 
     * @param string $class
87
 
     * @param string $property
88
 
     * @return ReflectionProperty|null
89
 
     */
90
 
    public function getAccessibleProperty($class, $property)
91
 
    {
92
 
        return null;
93
 
    }
94
 
 
95
 
    /**
96
 
     * Check if the class have a public method with the given name.
97
 
     *
98
 
     * @param mixed $class
99
 
     * @param mixed $method
100
 
     * @return bool
101
 
     */
102
 
    public function hasPublicMethod($class, $method)
103
 
    {
104
 
        return method_exists($class, $method) && is_callable(array($class, $method));
105
 
    }
106
 
}
107