预定义变量和常量
2018-06-13 16:02 更新
为了能够加载系统以及配置系统运行需求,ModPHP 保留了下面这些变量和常量。你可以调用这些变量或常量,除非特别说明,否则不要尝试去更改或设置它们,而对于某一些变量,设置和更改它们则是没有意义的。
变量:
- $_SESSION['ME_ID']: 当前登录用户 ID
- $_GET['obj']:客户端请求调用的对象
- $_GET['act']:客户端请求调用的操作(方法)
- $SOCKET_INFO:Socket 服务器中保存会话信息的关联数组,包含三组内容,分别是 request_headers、session_id 和 user_id。
- $SOCKET_USER:Socket 服务器中保存已登录用户 ID 和对应客户端的关联数组,客户端资源保存在一个索引数组中。
- $STDIN: 交互式控制台中用户输入的内容
- $STDOUT: 交互式控制台中上一次的输出结果
- $ENCODING: 交互式控制台中命令行所使用的编码,仅 Winodws 系统,不建议修改。
- $TITLE: 交互式控制台的窗口标题,仅 Winodws 系统,可以修改。
- $PROMPT: 交互式控制台的行前提示符,默认 $,可以修改。
- $PARAM: 交互式控制台中(根据 shell 命令语法)解析用户输入得到的参数
常量(不区分大小写):
- MOD_VERSION:ModPHP 版本(仅大写)。
- TIME:PHP 运行时间。
- ROOT:系统根目录路径。
- SCRIPT:当前运行的文件,程序运行在根目录时,值为相对路径,否则为绝对路径。
- DISPLAY:正在展示的文件,程序运行在根目录时,值为相对路径,否则为绝对路径(该常量在 ModPHP 版本 1.6.4 之后已被移除,并由 display_file() 函数替代)。
$SOCKET_INFO 和 $SOCKET_USER:
这两个变量只有在 ModPHP 运行在默认的 Socket 服务器模式下时才会产生,它们不是超全局变量,使用时需要将它们引入当前作用域。
在 ModPHP 2.0.0 及之前,这两个变量分别有不同的名字:$WS_INFO 和 $WS_USER。ModPHP 2.0.1 引入了新的 SocketServer 扩展来替换原先得 WebSocket 扩展,因此,它们的名称也相应地变化了。
$SOCKET_INFO
中保存着和客户端有关的信息,客户端在进行 Socket 连接时,ModPHP 会将它们的连接信息保存下来,这些信息将被用来进行页面判断,登录和权限判断等。
$SOCKET_USER
以一个关联数组存储已登录用户的 ID 和客户端,因为一个用户可能在多个客户端或者浏览器窗口进行登录,因此,一个用户 ID 对应的客户端是多个的,它们以索引数组的方式保存。你可以使用这个变量快速获得指定用户的 Socket 客户端资源,如果他已经登录。
以上内容是否对您有帮助:
← 命名规范
更多建议: