for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?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\Design;
use PHPMD\AbstractNode;
use PHPMD\AbstractRule;
use PHPMD\Rule\ClassAware;
* This rule class detects violations of Coupling Between Objects metric.
* @since 1.1.0
class CouplingBetweenObjects extends AbstractRule implements ClassAware
{
* This method should implement the violation analysis algorithm of concrete
* rule implementations. All extending classes must implement this method.
* @param \PHPMD\AbstractNode $node
* @return void
public function apply(AbstractNode $node)
$cbo = $node->getMetric('cbo');
if ($cbo >= ($threshold = $this->getIntProperty('maximum'))) {
$this->addViolation($node, array($node->getName(), $cbo, $threshold));
}