for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is part of the API Platform project.
*
* (c) Kévin Dunglas <[email protected]>
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace ApiPlatform\Core\Util;
/**
* Reflection utilities.
* @internal
* @author Kévin Dunglas <[email protected]>
final class Reflection
{
const ACCESSOR_PREFIXES = ['get', 'is', 'has', 'can'];
const MUTATOR_PREFIXES = ['set', 'add', 'remove'];
* Gets the property name associated with an accessor method.
* @param string $methodName
* @return string|null
public function getProperty($methodName)
$pattern = implode('|', array_merge(self::ACCESSOR_PREFIXES, self::MUTATOR_PREFIXES));
if (preg_match('/^('.$pattern.')(.+)$/i', $methodName, $matches)) {
return $matches[2];
}