![]() 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/cartforge.co/vendor/phpmd/phpmd/src/main/php/PHPMD/Rule/Naming/ |
<?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\Naming; use PHPMD\AbstractNode; use PHPMD\AbstractRule; use PHPMD\Rule\ClassAware; use PHPMD\Rule\EnumAware; use PHPMD\Rule\InterfaceAware; use PHPMD\Rule\TraitAware; use PHPMD\Utility\Strings; /** * This rule checks if an interface or class name exceeds the configured length * excluding certain configured prefixes and suffixes */ class LongClassName extends AbstractRule implements ClassAware, InterfaceAware, TraitAware, EnumAware { /** * Temporary cache of configured prefixes to subtract * * @var string[]|null */ protected $subtractPrefixes; /** * Temporary cache of configured suffixes to subtract * * @var string[]|null */ protected $subtractSuffixes; /** * Check if a class name exceeds the configured maximum length and emit a rule violation * * @param \PHPMD\AbstractNode $node * @return void */ public function apply(AbstractNode $node) { $threshold = $this->getIntProperty('maximum'); $classOrInterfaceName = $node->getName(); $length = Strings::lengthWithoutPrefixesAndSuffixes( $classOrInterfaceName, $this->getSubtractPrefixList(), $this->getSubtractSuffixList() ); if ($length <= $threshold) { return; } $this->addViolation($node, array($classOrInterfaceName, $threshold)); } /** * Gets array of prefixes from property * * @return string[] */ protected function getSubtractPrefixList() { if ($this->subtractPrefixes === null) { $this->subtractPrefixes = Strings::splitToList( $this->getStringProperty('subtract-prefixes', ''), ',' ); } return $this->subtractPrefixes; } /** * Gets array of suffixes from property * * @return string[] */ protected function getSubtractSuffixList() { if ($this->subtractSuffixes === null) { $this->subtractSuffixes = Strings::splitToList( $this->getStringProperty('subtract-suffixes', ''), ',' ); } return $this->subtractSuffixes; } }