# Gateway::getUidByClientId ## 说明: ```php string Gateway::getUidByClientId(string $client_id); ``` **``` (要求Gateway版本>=3.0.8) ```** [如何查看Gateway版本](get-gateway-version.md) 返回client_id绑定的uid,如果client_id没有绑定uid,则返回null。 ## 参数 * ```$client_id``` 字符串client_id。 ## 返回值 返回字符串或者数字,返回类型取决于之前执行bindUid绑定的uid的数据类型 ## 注意 在onClose回调中无法使用此接口,解决方法是bindUid时记录一个```$_SESSION['uid']=uid```,```Events::onClose```的时候用```$_SESSION['uid']```来获取```uid```。 但是仍然要注意```$_SESSION['uid']```一般是在```onMessage/onWebSocketConnect```里赋值的,但是```onMessage/onWebSocketConnect```在onClose调用前不一定会被调用,比如客户端发起了tcp连接后未发送任何数据然后关闭了连接,类似这种情况服务端```Events ::onClose```回调中不会有```$_SESSION['uid']```值,所以```Events::onClose```中获取```$_SESSION['uid']```值需要判断下```uid```键值是否存在。 ## 范例 ```php use \GatewayWorker\Lib\Gateway; class Events { ... public static function onMessage($client_id, $message) { Gateway::bindUid($client_id, 123); var_export(Gateway::getUidByClientId($client_id)); } ... } ``` 输出类似 ```php 123 ```