![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/phpmd/phpmd/src/main/php/PHPMD/Rule/Controversial/ |
<?php /** * This file is part of PHP Mess Detector. * * Copyright (c) Manuel Pichler <[email protected]>. * All rights reserved. * * Licensed under BSD License * For full copyright and license information, please see the LICENSE file. * Redistributions of files must retain the above copyright notice. * * @author Manuel Pichler <[email protected]> * @copyright Manuel Pichler. All rights reserved. * @license https://opensource.org/licenses/bsd-license.php BSD License * @link http://phpmd.org/ */ namespace PHPMD\Rule\Controversial; use PHPMD\AbstractNode; use PHPMD\AbstractRule; use PHPMD\Rule\FunctionAware; use PHPMD\Rule\MethodAware; /** * This rule class detects variables not named in camelCase. * * @author Francis Besset <[email protected]> * @since 1.1.0 */ class CamelCaseVariableName extends AbstractRule implements MethodAware, FunctionAware { /** * @var array */ protected $exceptions = array( '$php_errormsg', '$http_response_header', '$GLOBALS', '$_SERVER', '$_GET', '$_POST', '$_FILES', '$_COOKIE', '$_SESSION', '$_REQUEST', '$_ENV', ); /** * This method checks if a variable is not named in camelCase * and emits a rule violation. * * @param \PHPMD\AbstractNode $node * @return void */ public function apply(AbstractNode $node) { $variables = array(); foreach ($node->findChildrenOfTypeVariable() as $variable) { if (!$this->isValid($variable)) { $variableName = $variable->getImage(); if (!isset($variables[$variableName])) { $variables[$variableName] = true; $this->addViolation($variable, array($variableName)); } } } } protected function isValid($variable) { $image = $variable->getImage(); if (in_array($image, $this->exceptions)) { return true; } if ($this->getBooleanProperty('allow-underscore')) { if (preg_match('/^\$[_]?[a-z][a-zA-Z0-9]*$/', $image)) { return true; } } if (preg_match('/^\$[a-z][a-zA-Z0-9]*$/', $image)) { return true; } if ($variable->getParent()->isInstanceOf('PropertyPostfix')) { return true; } return false; } }