PHP 板


LINE

看板 PHP  RSS
※ 引述《JoeHorn (狮子男)》之铭言: : ※ 引述《MrMarcus (请勿忘记密码)》之铭言: : : 我不知道各位有没有写过ASP或者ASP.net。ASP/ASP.net的Application变数 : : 是一种在同一个Application范围内的所有页面,所有使用者,都可以存取 : : 得到的变数。这里的使用者指的是前来浏览这个Application范围内网页的 : : 访客,不是主机作业系统上的使用者。 : 我之前的文章有说到这段: : 如果「user」是单一 PHP 系统的 web wlient ,那根本就不用来问伺服器级变数, : 随便找个开放源码的 PHP 系统(phpBB、OSC、Gallery、...)都可以看到作法。 : 把资料放在 Config 档,或是放在後端 DB ,都可以解决。 : 有必要一定得用 application variables ? : : PHP透过auto_prepend_file在每个程式前面插入该程式,这虽然可以让每个 : : 程式(以及使用者)共享某些资料,但是问题在於这些资料是不能被改变的。 : : ASP/ASP.net程式可以用类似以下的方式读取Application变数: : : TotalUserLabel.Text = Application["TotalUser"].ToString(); : : 但是除了读取,还可以把资料写到Application层级去: : : Application.Add("TotalUser", 100); : : 或者 : : Application["TotalUser"] = 101; : : 整个app范围内的所有使用(访客)都会看到这个变数的改变。PHP的 : : auto_prepend_file没有办法做到这个。虽然可以在这个档案里面放入一些 : : 变数让每个程式(以及访客)都读取得到,但是当程式试图去「变更」这些 : : 变数的资料的时候,这些变更影响的范围都只限於该支程式,该程式执行 : : 完毕,下次执行的时候就又恢复成以前未变更的值了。或者顶多透过 : : SESSION变数,让同一个访客浏览的多个页面都能看到之前的变更。 : : 但是重点在於「其他访客」并无法看到这些「变更」。这也就是Application : : 层级变数跟session层级变数不同的地方。 : 您在这边讲「整个app范围内的所有使用(访客)都会看到这个变数的改变。PHP的 : auto_prepend_file没有办法做到这个。」,下一段似乎直接驳斥了这一段的说法? 我不认为後面那段自己驳斥了这一段。 任何缺少的功能我们当然可以自己想办法做出来。以这个例子来讲,也许我们可以 做出自己的lib来达到或者模拟ASP/ASP.net的application变数的功能。但是这跟 auto_prepend_file有什麽关系?这个功能是因为auto_preprend_file才做出来的吗? 不是吧。auto_prepend_file只是会自动把某个档案的内容塞到每一个php程式前面 而已。好,就算我把自己做出来的class放在这个档案里面好了,这样我不需要在 程式里面用include或者require把这个class叫进来,方便多了。但是这样我会说 这个app变数的功能是因为auto_prepend_file才做出来的吗?不会吧。 : : PHP如果要做到对某个参数的变更,所有访客都看得到,那势必必须自己 : : 实作一些方式把这些资料储存在某个地方(档案或者资料库或者甚至存在 : : shared memory),另外也要自己实作一些方式去读取这些共用资料。 : : 为什麽得自己实作?就是因为PHP本身没有提供咩。 : 办法是人想出来的,自己实做会比较差? 我可没说自己做的东西就会比较差。请不要自己猜。我只是说,PHP本身没有 提供类似ASP/ASP.net的application变数这项功能。这有错吗?没有就是没有。 至於引申出「自己做的就会比较差」这个,那可不是我讲的。我也没有暗示 「自己做的就会比较差」这件事。 说实在话,今天我也得感谢PHP,才能挣口饭吃。说PHP的坏话对我来说有什麽 好处?没有啊。只不过刚好我也有一部份得感谢ASP/ASP.net。我不会在这里 说PHP好还是ASP/ASP.net好,那也不是我能评论的。今天只不过是有人问了 PHP有没有类似app变数的功能,答案是没有。就这样。原发问者会因为这样就 不用PHP吗?这我不晓得。不过在现实环境下,如果真的需要这功能而且就是 得用PHP,我想原作者会去找到可用的函式库或者自己想办法生出来的。我们 都是这样走来的不是吗。 : 我在网路上看过一段话,意思大概是这样: : 「如果你写的 code、应用的 library、使用的软体都是 well documented 的, : 那你的成果并不是什麽了不起的旷世锯作。」 : 共勉之~ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.153.19
1F:推 arzbar:功能一样能达到 只是原PO 问有没有APP 这样的东西 我也是 03/20 16:58
2F:→ arzbar:ASP 转过来的 为了APP 我也翻了一堆文章 最後只能靠纪录的 03/20 16:59
3F:→ arzbar:方式来达到ASP 的 APP变数功能 J先生是不是太敏感了? 03/20 16:59
4F:→ gpmm:怎办?我也跟 J 大一样觉得不太苏湖耶…我也太敏感了吗? 03/20 17:02
5F:推 arzbar:或许吧 因为ASP 的APP太方便了 来到PHP 总是会不习惯 03/20 17:11
6F:推 JoeHorn:一楼,麻烦您去看看您在之前文章的推文。 03/20 17:13
7F:→ JoeHorn:尤其是我提 auto_prepend_file 的那篇文章。 03/20 17:14
8F:推 arzbar:我真不知道有什麽好火药味的 没有像ASP 的 APP 的变数 03/20 17:14
9F:→ JoeHorn:变数不能带到别的 user 身上? 03/20 17:15
10F:→ arzbar:你只能用变通的方式来做 这不就是答案? 03/20 17:15
11F:→ arzbar:我不清楚J大有没有用过ASP 的 APP 但是我可以理解他要的 03/20 17:15
12F:→ arzbar:并不是要变通的作法 只是单纯问个答案而已 03/20 17:16
13F:→ JoeHorn:JAVA、.NET、PHP 我都玩过了, App 级变数是很好用.. 03/20 17:16
14F:→ JoeHorn:重点是「为什麽非用不可?」,.NET 的 App 级变数效能好? 03/20 17:17
15F:→ JoeHorn:你们要不要去看看他们的底层实作方式? 03/20 17:18
16F:推 arzbar:他只有问有没有这个变数吧? 没有说非用不可阿 03/20 17:18
17F:→ arzbar:也没提到效能阿? 而且 我也没有要打笔仗阿 只是想表达 03/20 17:19
18F:→ JoeHorn:所以你们找都不找,直接丢个「没有」? 03/20 17:19
19F:→ arzbar:PHP 没有APP这个变数 就这样而已 03/20 17:20
20F:推 JoeHorn:如果这种变数是相反的(PHP 支援,.NET 不支援)。 03/20 17:23
21F:→ JoeHorn:你们找到的 .NET implement 的 class 要收钱才能下载~ :p 03/20 17:24
22F:→ arzbar:我其实也不是很想笔战 但如过下面那篇真的能用的话那真的 03/20 17:34
23F:→ arzbar:是太好了 我记得原PO还有提到 伺服器关闭 变数消失 03/20 17:35
24F:→ arzbar:若依照我们後来变通的方式 应该是没办法达到那个需求吧? 03/20 17:35
25F:→ arzbar:还是说各位大大有其他的变通方式? 我是想不到啦 有劳指导 03/20 17:36
26F:推 starjou:战起不相干的东西了....... 03/20 18:34







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP