authenticationLibs[$lib]; $instance = new $class($config); if (empty($userModel)) { $userModel = new UserModel(); } if (empty($loginModel)) { $loginModel = new LoginModel(); } return $instance->setUserModel($userModel)->setLoginModel($loginModel); } public static function authorization( Model $groupModel = null, Model $permissionModel = null, Model $userModel = null, bool $getShared = true ) { if ($getShared) { return self::getSharedInstance( 'authorization', $groupModel, $permissionModel, $userModel ); } if (is_null($groupModel)) { $groupModel = new GroupModel(); } if (is_null($permissionModel)) { $permissionModel = new PermissionModel(); } $instance = new FlatAuthorization($groupModel, $permissionModel); if (is_null($userModel)) { $userModel = new UserModel(); } return $instance->setUserModel($userModel); } }