加入组，组不存在则自动创建

@param string $groupName
@param integer $fd
@return void
178765
public function joinGroup(string $groupName, int $fd): bool
    {
        return $this->useRedis(function($resource, $redis) use($groupName, $fd){
            $key = $this->getGroupNameKey($groupName);
            return $redis->sadd($key, $fd) > 0;
        });
    }
991001
public function add(Message $message, $groupName = null) {
		if (!isset($this->messages[$groupName])) {
			$this->messages[$groupName] = array();
		}	
		
		$this->messages[$groupName][] = $message;
	}
1374510
public function addImplicitGroupName($group)
    {
        if (\in_array(self::DEFAULT_GROUP, $this->groups) && !\in_array($group, $this->groups)) {
            $this->groups[] = $group;
        }
    }
444306
private function addGroup($group)
	{
		if($group != null)
		{
			if($this->_groups == null)
				$this->_groups = array();
			$this->_groups[] = $group;
		}
	}
158967
public function addGroup($group)
    {
        if (null === $this->groups) {
            $this->groups = [];
        }
        if (!in_array($group, $this->groups)) {
            $this->groups[] = $group;
        }

        return $this;
    }
1363200
public function addGroup($group)
    {
        if (is_string($group)) {
            // If the group is a string, we'll assume the dev is passing
            // in a DN string of the group. We'll try to locate it.
            $group = $this->query->newInstance()->findByDn($group);
        }

        if ($group instanceof Group) {
            // If the group is Group model instance, we can
            // add the current models DN to the group.
            return $group->addMember($this->getDn());
        }

        return false;
    }
1238334
private function updateTranslationGroups($groupname)
    {
    	$group = TranslationGroup::firstOrCreate(['name' => $groupname]);
    	array_push($this->translation_groups, $group);
    }
1041200
public function closeGroup(string $groupName)
    {
        $this->useRedis(function($resource, $redis) use($groupName){
            $key = $this->getGroupNameKey($groupName);
            try{
                $redis->del($key);
                $redis->sRem($this->getGroupsKey(), $groupName);
            }
            catch(\Throwable $ex)
            {

            }
        });
    }
889798
public function groupCall(string $groupName, string $methodName, ...$args)
    {
        return $this->createGroup($groupName)->$methodName(...$args);
    }
971461
public function loadRoleAssignmentsByGroupId($groupId, $inherited = false)
    {
        $query = $this->handler->createSelectQuery();
        $query->select(
            $this->handler->quoteColumn('id'),
            $this->handler->quoteColumn('contentobject_id'),
            $this->handler->quoteColumn('limit_identifier'),
            $this->handler->quoteColumn('limit_value'),
            $this->handler->quoteColumn('role_id')
        )->from(
            $this->handler->quoteTable('ezuser_role')
        );

        if ($inherited) {
            $groupIds = $this->fetchUserGroups($groupId);
            $groupIds[] = $groupId;
            $query->where(
                $query->expr->in(
                    $this->handler->quoteColumn('contentobject_id'),
                    $groupIds
                )
            );
        } else {
            $query->where(
                $query->expr->eq(
                    $this->handler->quoteColumn('contentobject_id'),
                    $query->bindValue($groupId, null, \PDO::PARAM_INT)
                )
            );
        }

        $statement = $query->prepare();
        $statement->execute();

        return $statement->fetchAll(\PDO::FETCH_ASSOC);
    }
1352357
public function add($name, $field = null, $fieldset = null, $group = null)
    {
        return $this->form->add($name, $field, $fieldset, $group);
    }
968644
public function groupAppend( $groupName, $groupName2OrArray , $replace = true ){
		$this->load($groupName);
		$data = [];
		if( is_array( $groupName2OrArray ) ){
			$data = $groupName2OrArray;
		}
		else{
			$this->load( $groupName2OrArray );
			$data = $this->langs[ $groupName2OrArray];
		}
		if( !empty( $data)){
			foreach ($data as $k => $v ){
				if( isset( $this->langs[$groupName][$k])){
					if( $replace == true ){
						$this->langs[ $groupName ][$k] = $v;
					}
				}
				else{
					$this->langs[ $groupName ][$k] = $v;
				}
				
			}
		}
		
	}
1065388
public function addGroup($group_id)
    {
        $successful = true;
        
        if ($group_id == null) {
            return false;
        }
        
        // Remove all existing group(s) from user
        $this->groups()->detach();
        
        // Assign group(s) to user
        if (is_array($group_id)) {
            // If multiple roles
            if (count($group_id) > 0) {
                foreach ($group_id as $item) {
                    $new_group = Group::find($item);
                    if ($new_group == null) {
                        $successful = false;
                    } else {
                        $this->groups()->save($new_group);
                    }
                }
            }
        } else {
            $new_group = Group::find($group_id);
            if ($new_group == null) {
                $successful = false;
            } else {
                $this->groups()->save($new_group);
            }
        }
        
        return $successful;
    }
118321
public function addGroup(string $groupName, DataModifierGroup $group) : self
    {
        $this->dataModifierGroups[$groupName] = $group;

        return $this;
    }
282525
public function addCommandGroup($groupName, $commands = [])
    {
        $group = new CommandGroup($groupName);
        foreach ($commands as $val) {
            $cmd = $this->addCommand($val);
            $group->addCommand($cmd);
        }
        $this->commandGroups[] = $group;

        return $group;
    }
425374
public function createGroup(string $groupName, int $maxClients = -1)
    {
        if(!isset($this->groups[$groupName]))
        {
            $this->useRedis(function($resource, $redis) use($groupName){
                $redis->sAdd($this->getGroupsKey(), $groupName);
            });
            $this->groups[$groupName] = [
                'maxClient' => $maxClients,
            ];
        }
    }
219573
public function insertGroupAssignment($typeId, $status, $groupId)
    {
        try {
            return $this->innerGateway->insertGroupAssignment($typeId, $status, $groupId);
        } catch (DBALException $e) {
            throw new RuntimeException('Database error', 0, $e);
        } catch (PDOException $e) {
            throw new RuntimeException('Database error', 0, $e);
        }
    }