五分钟内反应回复,平均十分钟解决任何IT技术问题,按难度跟工作量收费!

微擎的全局参数$_W跟全局请求变量$_GPC

疯狂的小程序员 |浏览75次 |售价:0元 |联系博客主
收藏|2021/12/27 18:53
$_W(大写W),是系统中最为重要的全局变量,微擎系统中很多常用的数据都存储在这个变量之中,下面我们详细讲解一下此变量的结构。
Array
(
    [config] => Array 配置文件/data/config.php
        (
            [db] => 数据库配置信息
            [cookie] => Cookie相关信息(作用域,前缀)
            [setting] => 基本全局配置信息
            [upload] => !!!废弃,统一从数据库读取!!!,上传配置信息(扩展名,路径)
        )
    [timestamp] => 当前时间戳
    [charset] => utf-8
    [clientip] => 127.0.0.1
    [siteroot] => 'http://wx2.we7.cc/' //网站URL根目录
    [siteurl] => 'http://wx2.we7.cc/web/index.php?c=home&a=welcome&do=platform&' //当前页面完整的URL
    [isajax] => true //是否为AJAX请求
    [ispost] => false //是否为POST请求
    [cache] => Array() //系统缓存,所有通过cache_load()方法加载的缓存,均会放在这里
    [attachurl_local] => 'http://pro.we7.cc/attachment/' //指像本服务器的附件URL
    [attachurl] => ['http://wx2.we7.cc/attachment/' | 远程附件URL] 附件URL(可能是远程附件URL)
    [os] => windows //当前操作系统,[windows (pc端), mobile(手机端), unknown]
    [container] => wechat //手机端类型(wechat, android, ipad, iphone, ipod, unknown)
    [token] => 随机token值,表单提交用于判断来源
    [uid] => 1 //当前管理或是操作员UID
    [username] => admin //当前管理或是操作员用户名
    [user] => Array() //当前管理或是操作员信息
    [isfounder] => true //是否是创始人
    [uniacid] => 6 //当前公众号id
    [account] = [uniaccount] => Array //当前公众号信息
        (
            [acid] => 6
            [uniacid] => 6
            [token] => fgpvlki2wqh2jdlfsk0is1bnchin3uqu
            [encodingaeskey] => 1lkkB6b1s45f6C0Z5J5lHwlzDzJidQDsGOUAxmnFziQ //加密解密
            //缓存公众号access_token
            [access_token] => a:2:{s:5:"token";s:107:"LWIJmS64SDOmk_unZXpyne6grkPwbNQ5bK8PfWD-F2_5jsCACc99fW9ithoLNeNcRmeFJnkDkqh61jfwYTqFnfeSxqxX60tZPOkcWhjsOX4";s:6:"expire";i:1443595115;} 
            //缓存公众号的jsapi_ticket
            [jsapi_ticket] => a:2:{s:6:"ticket";s:86:"bxLdikRXVbTPdHSM05e5uwPsbeG50dfougkSgh8HKNTd7_7m4HvINSMp9VVMJcBQ55Crc4L98SHVFvO8EQsieA";s:6:"expire";i:1443595115;}
            //缓存卡劵ticket
            [card_ticket] => a:2:{s:6:"ticket";s:86:"m7RQzjA_ljjEkt-JCoklRMZjsGiIHZltHaN3YXAgwdvGlaf_Hi3G38FBUWKrBBGJHT7btfalyu-Pj4GOd67TXQ";s:6:"expire";i:1440209314;}
            [level] => 3 //公众号级别,普通订阅号1,普通服务号2,认证订阅号3,认证服务号4
            [name] => 微擎团队
            [account] => we7team
            [original] => gh_4b1063013961
            [signature] => 微信公众平台自助引擎,简称微擎,微擎是一款免费开源的微信公众平台管理系统,官方QQ群:32385562,官方网站:www.we7.cc
            [country] => 
            [province] => 
            [city] => 
            [username] => we7team
            [password] => 123587bb93339897b3eeeb035f754dbc
            [lastupdate] => 1433124942
            [key] => wx2f9d7b7b086d0fd8 //公众号appid
            [secret] =>  //公众号appsecret
            [styleid] => 0
            [subscribeurl] => 
            [auth_refresh_token] => 
            [default_acid] => 6 //默认子公号
            [type] => 1 
            [uid] => 1
            [starttime] => 1450505304
            [endtime] => 0
            [groups] => Array()
            [grouplevel] => 2
        )
    [acid] => 6 //向下兼容,公众号ID
    [weid] => 6 //与uniacid相同
    [role] => founder // 当前管理或是操作员角色,分为创始人 founder,操作员 operator
    [template] => default //当前
    [page] => Array() //页面上一些配置信息
)
变量名称    类型    说明    示例
$_W['config']    array    系统设置    
$_W['timestamp']    int    当前时刻时间戳    
$_W['charset']    string    系统字符编码    
$_W['token']    string    系统表单验证来源    
$_W['clientip']    string    当前客户端 IP 地址    
$_W['script_name']    string    当前脚本名称,包含子路径    “/web/index.php”
$_W['siteroot']    string    网站URL根目录    "http://pro/"
$_W['siteurl']    string    原始链接    "http://pro/test.php?a=1&b=2"
$_W['attachurl']    string    附件URL根目录    "http://pro/attachment/"
$_W['isajax']    boolean    是否为AJAX请求    
$_W['ispost']    boolean    是否为POST请求    
$_W['uniacid']    int    当前统一公号与account内容一致    
$_W['weid']    int    [已过时], 0.6 开发中请使用 $_W['uniacid']代替    
$_W['uniaccount']    array    当前统一公号(主公号)信息    
$_W['uniaccount']['uniacid']    int    当前统一公号 ID (uniacid)    
$_W['uniaccount']['groupid']    int    当前统一公号套餐    
$_W['uniaccount']['name']    string    当前统一公号名称    
$_W['ispost']    string    当前统一公号描述    
Web 端可见            
$_W['uid']    int    当前登录的操作用户 uid    
$_W['username']    string    当前操作用户名称    
$_W['user']    array    当前操作用户信息    
$_W['isfounder']    boolean    是否站长    
$_W['role']    string    角色    
App 端可见            
$_W['template']    string    当前公号使用的微站模板名称    
$_W['container']    string    微站客户端平台    取值范围: wechat, android, ipad, iphone, ipod, unknown
$_W['os']    string    微站客户端平台    取值范围: windows (pc端), mobile(手机端), unknown
$_W['member']    array    当前粉丝用户信息    
$_W['member']['uid']    int    当前粉丝用户 uid    
$_W['openid']    string    当前粉丝用户标识    可能是真实的 openid 
可能是借用的 oauth_openid
$_W['fans']    array    当前粉丝用户信息    
网页授权            
$_W['oauth_account']    array    当前子公号,可使用的网页授权公众号信息    可能是自己(level=4)
可能是借用的别的认证服务号
可能没有(level<4 且未借用)
预定义常量
IA_ROOT    string    微擎程序安装目录    "E:/MicroEngine/pro"
ATTACHMENT_ROOT    string    微擎程序附件目录    "E:/MicroEngine/pro/attachment"
MODULE_ROOT    string    当前模块目录    "E:/MicroEngine/pro/addons/we7_store"
MODULE_URL    string    当前模块 url    "http://www.we7.cc/addons/we7_store/"
TIMESTAMP    int    获得当前系统时间, 格式为Unix时间戳, 相当于调用 time().
这个时间戳定义于当前页面开始时,在同一个页面请求响应过程中不变.    
CLIENT_IP    string    当前客户端 IP 地址    "255.255.255.255"





$_GPC - 全局请求变量
类型: array
说明: 合并请求参数, 包括 $_GET, $_POST, $_COOKIE的内容. 相同键名覆盖规则为 $_COOKIE 覆盖 $_POST, $_POST 覆盖 $_GET. 访问请求参数请使用 $_GPC 全局数组, 已经进行过 xss 转义处理. 原始数据保存在 $_GET, $_POST, $_COOKIE中未变动.
$_W - 系统全局变量
类型: array
说明: 定义全局使用的变量, 所有全局变量均保存于 $_W 下, 在函数或类成员中使用时, 应先使用 global 语法导入. 结构如下:
Array
(
    [pdo] => 数据库对象
    [timestamp] => 当前时间戳
    [template] => Array
    (
        [current] => 当前风格目录
        [source] => 当前风格目录物理路径
        [compile] => 模板编译目录物理路径
    )
    [config(配置文件)] => Array
    (
        [db] => 数据库配置信息
        [cookie] => Cookie相关信息(作用域,前缀)
        [setting] => 基本全局配置信息
        [upload] => 上传配置信息(扩展名,路径)
    )
    [charset] => 当前编码
    [clientip] => 客户端IP
    [script_name] => 当前脚本名称,包含子路径
    [siteroot] => 网站URL根目录
    [attachurl] => 附件URL根目录
    [isajax] => 是否为AJAX请求。
    [ispost] => 是否为POST请求。
    [setting] => 网站配置信息
    [cache(缓存)] => Array
    (
        [modules] => 系统中全部模块信息
        [account] => Array 当前用户的公众号
        (
            [(用户UID)] => Array
        )
    )
    [uid] => 当前用户UID
    [username] => 当前用户名
    [member] => 当前用户相关信息
    [isfounder] => 是否为创始人
    [token] => 随机token值,表单提交用于判断来源
    [weid] => 当前公众号weid
    [wechats] => Array 当前用户的全部公众号
    [account] => Array 当前公众号,缓存中的公众号结构与结构相同
    (
        [weid]
        [hash]
        [uid]
        [token]
        [name]
        [fans]
        [account]
        [original]
        [signature]
        [country]
        [province]
        [city]
        [username]
        [password]
        [welcome]
        [default]
        [default_period]
        [lastupdate]
        [key]
        [secret]
        [menuset]
        [modules] => Array 公众号启用的模块
    )
)
$_W['pdo'] - 默认数据库对象
类型: PDO-Object
说明: 所有数据库操作默认使用的PDO对象. 一般不需要直接访问, 请参阅(数据库操作 - pdo 函数)
$_W['timestamp'] - 系统当前时间(Unix时间戳格式)
类型: int
说明: 获得当前系统时间, 格式为Unix时间戳, 相当于调用 time(), 这个时间戳定义于当前页面开始时. 在同一个页面请求响应过程中不变.与预定义常量 TIMESTAMP 保持一致, 推荐使用 TIMESTAMP
$_W['clientip'] - 当前客户端 IP 地址
类型: string
说明: 获得当前请求的客户端IP, 格式为 xxx.xxx.xxx.xxx, 相当于调用 getip(), 获取客户端IP时推荐使用此常量. 与预定义常量 CLIENT_IP 保持一致, 推荐使用 CLIENT_IP
$_W['script_name'] - 当前执行的文件名
类型: string
说明: 获取当前页面执行的入口文件名
$_W['siteroot'] - 当前网站运行的程序根目录, URL表示
类型: string
说明: 当前微擎安装程序根目录的访问 URL, 注意. 请保证程序能够使用 80 端口访问, 否则可能造成公众平台通信失败
$_W['attachurl'] - 微擎附件访问URL根路径
类型: string
说明: 访问微擎附件(上传的图片, 音频等其他媒体资源)的URL根路径
$_W['ispost'] - 当前请求是否为 POST 请求
类型: bool
说明: 如果当前请求为 POST 则此值为 true, 否则为 false
$_W['isajax'] - 当前请求是否通过 ajax 请求
类型: bool
说明: 如果当前请求为 Ajax请求则此值为 true, 否则为 false
$_W['platform'] - 当前系统运行平台
类型: string
说明: 微擎系统当前运行的平台, 现在仅支持 bae 平台. 如果当前系统运行于 bae 平台, 那么此值将为字符串值 'bae'
$_W['bae'] - 是否运行于BAE平台
类型: bool
说明: 指定微擎系统当前是否运行于 BAE 平台. 如果当前系统运行于 bae 平台, 那么此值将为布尔值 true, 否则无此值
$_W['template']['current'] - 系统当前风格目录(不需要使用)
$_W['template']['source'] - 当前风格目录物理路径(不需要使用)
$_W['template']['compile'] - 模板编译目录物理路径(不需要使用)
$_W['charset'] - 系统当前字符编码
类型: string
说明: 系统当前字符编码, 默认为 utf-8, 其他字符集支持未经过测试, 随意更改字符集, 可能造成未知错误.    
系统预定义常量
IA_ROOT - 项目物理根目录
类型: string
说明: 当前微擎程序安装目录的根目录, 表示为物理路径
MAGIC_QUOTES_GPC - 当前运行环境是否启用自动魔术引用
类型: bool
说明: 指定当前微擎运行环境是否启用自动魔术引用(概念请参阅 php 手册)
TIMESTAMP - 系统当前时间(Unix时间戳格式)
类型: int
说明: 获得当前系统时间, 格式为Unix时间戳, 相当于调用 time(), 这个时间戳定义于当前页面开始时. 在同一个页面请求响应过程中不变.
CLIENT_IP - 当前客户端 IP 地址
类型: string
说明: 获得当前请求的客户端IP, 格式为 xxx.xxx.xxx.xxx, 相当于调用 getip(), 获取客户端IP时推荐使用此常量.






咨询/回复该博客即可获得 2 经验值,咨询/回复被采纳即可获得 2 经验值!
咨询/回复

验证码

  换一个
全部回答(0)
该博客主的其他博客文章
+1
 加载中...