public function registerModels($config)
    {
        $userModel = array_get($config, 'user');
        $roleModel = array_get($config, 'role');
        $permissionModel = array_get($config, 'permission');

        if (class_exists($userModel) && method_exists($userModel, 'setRoleModel')) {
            forward_static_call_array([$userModel, 'setRoleModel'], [$roleModel]);
        }

        if (class_exists($userModel) && method_exists($userModel, 'setPermissionModel')) {
            forward_static_call_array([$userModel, 'setPermissionModel'], [$permissionModel]);
        }

        if (class_exists($roleModel) && method_exists($roleModel, 'setUserModel')) {
            forward_static_call_array([$roleModel, 'setUserModel'], [$userModel]);
        }

        if (class_exists($roleModel) && method_exists($roleModel, 'setPermissionModel')) {
            forward_static_call_array([$roleModel, 'setPermissionModel'], [$permissionModel]);
        }

        if (class_exists($permissionModel) && method_exists($permissionModel, 'setRolesModel')) {
            forward_static_call_array([$permissionModel, 'setRolesModel'], [$roleModel]);
        }
    }