static function getFirstCallingClazzNotBeing(string $notBeing)
    {
        $backtrace = debug_backtrace(false);
        
        foreach ($backtrace as $caller) {
            $clazz = $caller['class'];
            
            if ($clazz != __CLASS__ && $clazz != $notBeing) {
                return $clazz;
            }
        }
        
        return null;
    }
static function getFirstCallingClazzNotBeing(string $notBeing)
    {
        $backtrace = debug_backtrace(false);
        
        foreach ($backtrace as $caller) {
            $clazz = $caller['class'];
            
            if ($clazz != __CLASS__ && $clazz != $notBeing) {
                return $clazz;
            }
        }
        
        return null;
    }
static function getFirstCallingClazzNotBeing ( string $ notBeing ) { $ backtrace = debug_backtrace ( false ) ; foreach ( $ backtrace as $ caller ) { $ clazz = $ caller [ 'class' ] ; if ( $ clazz != __CLASS__ && $ clazz != $ notBeing ) { return $ clazz ; } } return null ; }
Return the first class at the top of the call stack not being the class given in the argument.

@param string $notBeing
If the first class in the call stack matches this, skip ahead to the next.

@return string The first class at the top of the call stack not being the class given in the argument.
Return the first class at the top of the call stack not being the class given in the argument .