Discuz!X1贴心小设计之 getglobal()
来源:互联网 发布:离线数据库 编辑:程序博客网 时间:2024/05/01 15:30
Discuz!X1贴心小设计之 getglobal()
最近拆X的代码,看到很多远离简单,但确实使用起来非常方便的一些小函数,这里就记下来一个。
函数原型:
./source/function/function_core.php 第55行开始:
使用方法非常简单: 如获取$_G['member']['uid'] (用户的uid) ,可以这样书写:$uid = getglobal('uid', 'member');
这在X里面是个非常贴心的设计,相比做过uchome开发的人一定对这个会产生共鸣的,uchome中,大家都习惯使用$_SGLOBAL['member']['uid'],但是$_SGLOBAL这个全局变量很庞大,使用起来可能会写非常长的数组来获取自己想要得到的东西。代码写的多了以后会发现,有大量的数组堆叠。不适合与二次开发以后的二次修改。
上面的贴心设计基本上解决了这个。呵呵。
函数原型:
./source/function/function_core.php 第55行开始:
- function setglobal($key , $value, $group = null) {
- global $_G;
- $k = explode('/', $group === null ? $key : $group.'/'.$key);
- switch (count($k)) {
- case 1: $_G[$k[0]] = $value; break;
- case 2: $_G[$k[0]][$k[1]] = $value; break;
- case 3: $_G[$k[0]][$k[1]][$k[2]] = $value; break;
- case 4: $_G[$k[0]][$k[1]][$k[2]][$k[3]] = $value; break;
- case 5: $_G[$k[0]][$k[1]][$k[2]][$k[3]][$k[4]] =$value; break;
- }
- return true;
- }
- function getglobal($key, $group = null) {
- global $_G;
- $k = explode('/', $group === null ? $key : $group.'/'.$key);
- switch (count($k)) {
- case 1: return isset($_G[$k[0]]) ? $_G[$k[0]] : null; break;
- case 2: return isset($_G[$k[0]][$k[1]]) ? $_G[$k[0]][$k[1]] : null; break;
- case 3: return isset($_G[$k[0]][$k[1]][$k[2]]) ? $_G[$k[0]][$k[1]][$k[2]] : null; break;
- case 4: return isset($_G[$k[0]][$k[1]][$k[2]][$k[3]]) ? $_G[$k[0]][$k[1]][$k[2]][$k[3]] : null; break;
- case 5: return isset($_G[$k[0]][$k[1]][$k[2]][$k[3]][$k[4]]) ? $_G[$k[0]][$k[1]][$k[2]][$k[3]][$k[4]] : null; break;
- }
- return null;
- }
使用方法非常简单: 如获取$_G['member']['uid'] (用户的uid) ,可以这样书写:$uid = getglobal('uid', 'member');
这在X里面是个非常贴心的设计,相比做过uchome开发的人一定对这个会产生共鸣的,uchome中,大家都习惯使用$_SGLOBAL['member']['uid'],但是$_SGLOBAL这个全局变量很庞大,使用起来可能会写非常长的数组来获取自己想要得到的东西。代码写的多了以后会发现,有大量的数组堆叠。不适合与二次开发以后的二次修改。
上面的贴心设计基本上解决了这个。呵呵。
- Discuz!X1贴心小设计之 getglobal()
- Discuz!X1.5 全面解析之辅助运营…
- 用discuz X1建站
- 贴心的设计
- Discuz!X1程序文件说明
- Discuz! X1 论坛 全新安装图文教程
- Discuz X1.5 下载了怎么使用
- 巧用Discuz! X1.5 DIY门户应用
- OpenJWeb+discuz(X1.5)集成说明
- WordPress和Discuz! X1整合方法
- Discuz! x1.5 代码阅读笔记
- 调试Discuz! X1.5 By Zend Studio
- DISCUZ X1.5 notification_a…
- Discuz!X1.5 2.X登陆密码记录
- C#模拟登录Discuz论坛 附代码 Discuz X1.5
- 创新贴心设计的灵感觅取
- Java之“& 0x1”
- MySQL 5.7贴心参数之binlog_row_image
- XMPP简介(一)
- Android 播放项目声音文件
- HTML5小游戏《智力大拼图》发布,挑战你的思维风暴
- java 调用webservice的各种方法总结
- Java容器类List、ArrayList、HashTable、HashMap
- Discuz!X1贴心小设计之 getglobal()
- 面向对象设计的11原则--你称得上OO专家么?
- 简单排序算法实现——桶排序
- ioremap_nocache函数
- UNIX的5种I/O模型
- phpmailer发邮件常见的一些问题总结及使用案例
- 深入解析OGRE实体的创建流程
- 优秀程序员不得不知道的20个位运算技巧
- Js apply 方法 详解