session.func.php API参考文档
# session.func.php API 参考文档
## 概述
`session.func.php` 是 Xiuno BBS 的会话管理模块,提供了会话的打开、关闭、读取、写入、销毁、垃圾回收等核心功能,以及在线用户统计功能。
## 会话管理方法
### `sess_open()`
#### 说明
```php
function sess_open(string $save_path, string $session_name): bool
```
会话打开回调函数,PHP session_set_save_handler 所需。
#### 参数
- `$save_path`: 会话保存路径
- `$session_name`: 会话名称
#### 返回值
- 始终返回 TRUE
#### 示例
```php
// 由 PHP 自动调用,无需手动调用
```
### `sess_close()`
#### 说明
```php
function sess_close(): bool
```
会话关闭回调函数,PHP session_set_save_handler 所需。
#### 参数
- 无参数
#### 返回值
- 始终返回 TRUE
#### 示例
```php
// 由 PHP 自动调用,无需手动调用
```
### `sess_read()`
#### 说明
```php
function sess_read(string $sid): string
```
会话读取回调函数,PHP session_set_save_handler 所需。
#### 参数
- `$sid`: 会话 ID
#### 返回值
- 返回会话数据
#### 示例
```php
// 由 PHP 自动调用,无需手动调用
```
### `sess_new()`
#### 说明
```php
function sess_new(string $sid): void
```
创建新会话。
#### 参数
- `$sid`: 会话 ID
#### 返回值
- 无返回值
#### 示例
```php
// 由系统内部调用,无需手动调用
```
### `sess_restart()`
#### 说明
```php
function sess_restart(): void
```
重新启动会话,降低并发写入数据的问题。
#### 参数
- 无参数
#### 返回值
- 无返回值
#### 示例
```php
sess_restart();
```
### `sess_save()`
#### 说明
```php
function sess_save(): void
```
保存当前的 _SESSION 变量。
#### 参数
- 无参数
#### 返回值
- 无返回值
#### 示例
```php
sess_save();
```
### `sess_write()`
#### 说明
```php
function sess_write(string $sid, mixed $data): bool
```
会话写入回调函数,PHP session_set_save_handler 所需。
#### 参数
- `$sid`: 会话 ID
- `$data`: 会话数据
#### 返回值
- 成功返回 TRUE
#### 示例
```php
// 由 PHP 自动调用,无需手动调用
```
### `sess_destroy()`
#### 说明
```php
function sess_destroy(string $sid): bool
```
会话销毁回调函数,PHP session_set_save_handler 所需。
#### 参数
- `$sid`: 会话 ID
#### 返回值
- 成功返回 TRUE
#### 示例
```php
// 由 PHP 自动调用,无需手动调用
```
### `sess_gc()`
#### 说明
```php
function sess_gc(int $maxlifetime): bool
```
会话垃圾回收回调函数,PHP session_set_save_handler 所需。
#### 参数
- `$maxlifetime`: 会话最大生命周期
#### 返回值
- 成功返回 TRUE
#### 示例
```php
// 由 PHP 自动调用,无需手动调用
```
### `sess_start()`
#### 说明
```php
function sess_start(): string
```
启动会话,设置会话处理器。
#### 参数
- 无参数
#### 返回值
- 返回会话 ID
#### 示例
```php
$sid = sess_start();
```
## 在线用户管理
### `online_count()`
#### 说明
```php
function online_count(): int
```
统计在线用户数量。
#### 参数
- 无参数
#### 返回值
- 返回在线用户数量
#### 示例
```php
$count = online_count();
```
### `online_find_cache()`
#### 说明
```php
function online_find_cache(): array
```
获取所有在线用户数据。
#### 参数
- 无参数
#### 返回值
- 返回在线用户列表数组
#### 示例
```php
$onlinelist = online_find_cache();
```
### `online_list_cache()`
#### 说明
```php
function online_list_cache(): array
```
获取在线用户列表(带缓存)。
#### 参数
- 无参数
#### 返回值
- 返回格式化后的在线用户列表数组
#### 示例
```php
$onlinelist = online_list_cache();
```