protected static function getFormativeTrim(Framework\ParticleInterface $particle): int
    {
        $trim = 2;
        if(defined(get_class($particle)."::FORMATIVE_TRIM_CUT"))
            $trim = $particle::FORMATIVE_TRIM_CUT;
        return $trim;
    }
protected static function getFormativeTrim(Framework\ParticleInterface $particle): int
    {
        $trim = 2;
        if(defined(get_class($particle)."::FORMATIVE_TRIM_CUT"))
            $trim = $particle::FORMATIVE_TRIM_CUT;
        return $trim;
    }
protected static function getFormativeTrim ( Framework \ ParticleInterface $ particle ) : int { $ trim = 2 ; if ( defined ( get_class ( $ particle ) . "::FORMATIVE_TRIM_CUT" ) ) $ trim = $ particle :: FORMATIVE_TRIM_CUT ; return $ trim ; }
Calculates how many arguments in constructor to skip

Used with formative predicates.
The default value is 2 for framework, 3 for microkernel.

@param Framework\ParticleInterface $particle

@return int
Calculates how many arguments in constructor to skip