ObjectCalisthenics\Helper\PropertyFilter::filterUntrackedClassPropertyList PHP Method

filterUntrackedClassPropertyList() public static method

public static filterUntrackedClassPropertyList ( array $propertyList, array $trackedPropertyTypeList ) : array
$propertyList array
$trackedPropertyTypeList array
return array
    public static function filterUntrackedClassPropertyList(array $propertyList, array $trackedPropertyTypeList) : array
    {
        return array_filter($propertyList, function ($property) use($trackedPropertyTypeList) {
            return !in_array($property['type'], $trackedPropertyTypeList);
        });
    }

Usage Example

 private function checkUntrackedClassPropertyAmount() : string
 {
     $untrackedPropertyList = PropertyFilter::filterUntrackedClassPropertyList($this->propertyList, $this->getTrackedPropertyTypeList());
     $untrackedPropertyAmount = count($untrackedPropertyList);
     if ($untrackedPropertyAmount > $this->untrackedMaxCount) {
         $message = 'You have %d properties declared of %s type, must be less or equals than %d properties in total';
         $error = sprintf($message, $untrackedPropertyAmount, 'object instance', $this->untrackedMaxCount);
         return $error;
     }
     return '';
 }