src/Module/ModuleUtil.php
public function isSubModuleOf($module1, $module2): bool
    {
        if (!\is_string($module1) || false === strpos($module1, '\\')) {
            $module1 = $this->getClassByModule($module1);
        }

        if (!$module1 || !class_exists($module1)) {
            return false;
        }

        if (\is_string($module2) || false === strpos($module2, '\\')) {
            $module2 = $this->getClassByModule($module2);
        }

        if (!$module2 || !class_exists($module2)) {
            return false;
        }

        return is_subclass_of($module1, $module2);
    }
public function isSubModuleOf($module1, $module2): bool
    {
        if (!\is_string($module1) || false === strpos($module1, '\\')) {
            $module1 = $this->getClassByModule($module1);
        }

        if (!$module1 || !class_exists($module1)) {
            return false;
        }

        if (\is_string($module2) || false === strpos($module2, '\\')) {
            $module2 = $this->getClassByModule($module2);
        }

        if (!$module2 || !class_exists($module2)) {
            return false;
        }

        return is_subclass_of($module1, $module2);
    }
public function isSubModuleOf ( $ module1 , $ module2 ) : bool { if ( ! \ is_string ( $ module1 ) || false === strpos ( $ module1 , '\\' ) ) { $ module1 = $ this -> getClassByModule ( $ module1 ) ; } if ( ! $ module1 || ! class_exists ( $ module1 ) ) { return false ; } if ( \ is_string ( $ module2 ) || false === strpos ( $ module2 , '\\' ) ) { $ module2 = $ this -> getClassByModule ( $ module2 ) ; } if ( ! $ module2 || ! class_exists ( $ module2 ) ) { return false ; } return is_subclass_of ( $ module1 , $ module2 ) ; }
Check whether a module is a sub module of another.

@param mixed $module1 First module as class string, module type string, module model object or module object
@param mixed $module2 Second module as class string, module type string, module model object or module object

@return bool
Check whether a module is a sub module of another .