免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2414 | 回复: 18
打印 上一主题 下一主题

菜菜地问:全局变量真的是洪水猛兽,不能用吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-09 17:15 |只看该作者 |倒序浏览
常看到不少大虾们对用全局变量嗤之以鼻,我搞了一个程序也不敢用,一些基本的设置参数如每页多少条纪录数等都只好在函数中声明全局变量或直接传递。

可我老觉得这些基本参数本身是全局的设置,既然很少在运行时变化,那设为全局变量$GLOBALS[] 不好吗?我今天看了FUDforum的代码,发现它就是这么干的。

[ 本帖最后由 qingmedia 于 2006-3-9 17:18 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-03-09 17:35 |只看该作者
请再谈谈,如下的常见mysql配置的例子中,用define常量与变量各有什么样优缺点:

<?php
$db_host = 'localhost';
$db_name = 'test';
$db_user = 'root';
$db_password = '';
$db_prefix = 'dvhome';
?>

<?php
define['db_host',  'localhost'];
define['db_name',  'test'];
...

?>

论坛徽章:
0
3 [报告]
发表于 2006-03-09 19:20 |只看该作者
免得不小心改掉

论坛徽章:
0
4 [报告]
发表于 2006-03-09 19:49 |只看该作者
常量在ZDE可以跳来跳去,调试很方便,呵呵

论坛徽章:
0
5 [报告]
发表于 2006-03-09 23:12 |只看该作者
I like global

论坛徽章:
0
6 [报告]
发表于 2006-03-09 23:15 |只看该作者
只会说少用吧。。谁不用全局的阿?

论坛徽章:
0
7 [报告]
发表于 2006-03-09 23:58 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2006-03-10 06:14 |只看该作者
原帖由 Yarco 于 2006-3-9 23:58 发表
在面向对象里,全局不再全局。



也不是。
比如我需要统计整个页面使用了多少此数据库查询,我就用一个全局变量db类.
like

  1. myclass {
  2.   var $db;
  3.  function myclass(){
  4.    glboal $db;
  5.    $this->db = $db;
  6.  }
  7. }
复制代码

这样来统计一个页面的查询次数

另外,我用global用来作语言包 global $lang 和配置文件 global $CFG 觉得都不错。

论坛徽章:
0
9 [报告]
发表于 2006-03-10 09:37 |只看该作者
哦,define是这样的define('Author', 'yarco');

我想啊,全局变量还是应该有它存在的价值和特点的,就像国家标准,它制定了某个标准参数的全局变量,任何公司生产需要时,随时取用多方便。这也不妨碍企业自己修改国家标准为企业局部所用。

另外,关于语言包,用常量会不会方便一些呢?比如:

echo $next; //当$next没定义或没赋值,无显示。
echo NEXT;  //当NEXT没有定义时,显示的是英文NEXT,好歹还有点提示

论坛徽章:
0
10 [报告]
发表于 2006-03-10 11:37 |只看该作者
原帖由 qingmedia 于 2006-3-10 09:37 发表
另外,关于语言包,用常量会不会方便一些呢?比如:

echo $next; //当$next没定义或没赋值,无显示。
echo NEXT;  //当NEXT没有定义时,显示的是英文NEXT,好歹还有点提示

既然是用于语言包,那么你首先要做的一件事情就是:确定你在网页上会被使用到的所有单词都在语言包中被定义过。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP