PHP 板


LINE

看板 PHP  RSS
※ 引述《kingoface (桑原)》之铭言: : 哈罗,大家好! : 小弟刚刚想到了一个颇为无聊的问题. 的确是颇为无聊,根本不用考虑这个问题。 : 需要显示资料的时候 : 1. : 我会在<body>上方写个 : <?php : $exp_html='<table><tr><td>一堆资料库的资料</td></tr><table>'; 这是不利维护的烂设计,网页外观无法由其他人修改。 在团体开发中会整死前端和美术人员, 就算只有一个人在开发,大专案的後期必定令你痛不欲生。 : 2. : <?php : //做了一堆资料库 or foreach的运算 存在 $data : echo $data; 看不出来这跟1有什麽差别,就只是输出的那包在同一个php内前面或後面算出来而已。 现在比较理想的作法是把view和其他部份切割开来, 不管你是用MVC,或SMARTY那种不明确的(M/C)+V,原则上都是这样 (controller.php) 变数 = 资料; 变数 = 资料; ...... 参数阵列 = Array( 变数, 变数, 变数, ... ); (以参数阵列代入view.php) (view.php) (framework自动打开参数阵列) <?php echo 变数1; ?> ... <table> <?php foreach 变数2 as 列变数 : ?> <tr> <td><?php echo 列变数[栏位]; ?></td> </tr> <?php endforeach; ?> </table> ... 这里面不但把资料准备和资料显示分开在两个档案中 (当然最後view可能还是被include进来在同一个档案里,视framework实作而定) 而且资料都是在阵列和物件内包了又包,最後包成参数阵列送给view 这些变数传递的成本,并没有让MVC或SMARTY慢到人能够察觉的地步 即使资料再多也一样。 会慢到有差别,那表示 1)逻辑里面有多重回圈不能避免,或者没察觉到的多重回圈。 2)资料真的很多很多,多到没有意义。 在2的状况,浏览器通常会先挂。   -- 从前有个马铃薯王国 有个高贵伟大的国王 有的人尊敬他 有的人畏惧他 但有个人敢看不起他不只是一条龙 嘿呵 快出动 去征服 去摆平 嘿呵 快出征 去征服那条龙 嘿呵 快出动(宰了它!轰了它!)嘿呵 快出征 去征服那条龙 :■ Potatoes and Dragons (C)Alphanim France 2004-05 :. --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.163.12.174
1F:推 LaPass:嗯~ 总之就是这一篇说的这样啦 XD 12/30 12:48
2F:推 kingoface:恩,了解,感恩大大的分享. 12/30 13:02
3F:推 ooopooo:pro! 12/30 23:08
4F:推 k900i:请问HTML先出来再用Javascript去读PHP後innerHTML进td的作法 12/31 09:58
5F:→ k900i:是否就变成Ajax而比这两例效能更差? 12/31 09:58
6F:推 LaPass:楼上那是个有趣的问题... 12/31 10:18
7F:→ LaPass:那会把一个request切成两个以上request,但你html的部份可 12/31 10:22
8F:→ LaPass:以丢给nginx之类的做快取,就不用通过PHP去执行,这对效能 12/31 10:23
9F:→ LaPass:来说是比较好的作法。但缺点是会对SEO有影响,那些网路蜘蛛 12/31 10:23
10F:→ LaPass:通常不会看ajax抓出来的资料。 12/31 10:24
11F:→ LaPass:也就是说,比较适合一些私人的东西,例如Facebook、GMail就 12/31 10:25
12F:→ LaPass:这样搞 12/31 10:25
13F:→ LaPass:而且以後做负载平衡时还可以把html等静态资料主机跟php分开 12/31 10:26
14F:→ LaPass:,这会是比较好的作法。 12/31 10:26
15F:→ MOONRAKER:Ajax是另一个问题吧 他应用在有互动性或多层次查询的时 12/31 12:26
16F:→ MOONRAKER:候 把一个大批次查询切割成若干个小的查询 每次输出的资 12/31 12:27
17F:→ MOONRAKER:料量相对也少 而且受到使用者操作时间的影响 加总的效率 12/31 12:28
18F:→ MOONRAKER:并不像单一表格输出要求那麽高 而且是有利介面设计的 12/31 12:29
19F:→ MOONRAKER:反过来讲 如果是一个批次查询的大表格 硬要用ajax可以算 12/31 12:33
20F:→ MOONRAKER:是规划的错误 12/31 12:33
21F:→ danny8376:说到ajax 就想到可怕的GoogleBot 会解析JS OAO... 12/31 14:24
22F:推 LaPass:GoogleBot 会解析JS!! 太强大了.... OAO!! 12/31 15:42
23F:→ danny8376:我某个纯AJAX (没JS就只是个空样板) 的网站 12/31 16:46
24F:→ danny8376:就这样被GoogleBot爬内容了 看log也有GoogleBot 12/31 16:47
25F:→ danny8376:去爬AJAX资料的log... Google超可怕的啦!!! 12/31 16:48
26F:推 chenlarry:Google有写一只专门爬AJAX的机器人 囧 12/31 21:49
27F:→ xxxzzz:看不懂"..纯AJAX (没JS...",恐怖的是没JS,GoogleBot解析JS 01/01 07:42
28F:→ danny8376:(没JS"的话"就只是个空样板) 01/01 18:03
29F:→ DongFeng:抽掉JS就只剩下空壳 网站一切资料都使用AJAX捞出的意思 01/01 20:22
30F:→ DongFeng:如果一个页面需要用到多个不同性质的资料 $arr1、$arr2、 01/01 20:25
31F:→ DongFeng:$arr3等 并且这些资料在页面上都有各自不同的使用区块,那 01/01 20:26
32F:→ DongFeng:就会让整体程式码有好几个包含html码的<?php...?>区块,如 01/01 20:28
33F:→ DongFeng:果加上其中又有判断式又不想使用echo输出html码的时候,就 01/01 20:29
34F:→ DongFeng:会变成<?php...<?php...?>...?>这种巢状的区块, 总觉得这 01/01 20:30
35F:→ DongFeng:样的呈现方式很杂乱, 不知道版上的前辈对於这样的状况有 01/01 20:31
36F:→ DongFeng:没有什麽解决之道呢? 01/01 20:31
37F:推 LaPass:就smarty那些东西啊.... 01/01 22:02
38F:→ LaPass:还有,你可以考虑使用MVC,不过不管切的再怎麽乾净,还是会 01/01 22:04
39F:→ LaPass:有html跟後端程式码混在一起的片段在,只是规模大不大、有 01/01 22:04
40F:→ LaPass:没有把讨厌的东西收到看不见的地方去而已 01/01 22:05
41F:→ MOONRAKER:这没什麽啊 过度的洁癖是不卫生的 01/01 22:29
42F:→ MOONRAKER:如果洁癖到一点php code都不想在看板里看到 那就ajax罗 01/01 22:30
43F:推 DongFeng:感谢楼上两位. 推过度的洁癖是不卫生的XDD 01/01 22:41
44F:→ MOONRAKER::) 至少就我接触到的习惯,与其把全部code都费劲藏起来 01/01 23:43
45F:→ MOONRAKER:不如把他收拾乾净、整理好,让前端也能看懂剩下的部份 01/01 23:44
46F:推 LaPass:用ajax的话会变成js跟html混在一起,某种程度只是把脏的地 01/02 00:29
47F:→ LaPass:方推到前端去而已.... 01/02 00:29
48F:→ mmis1000:反正js也能全部封装进lib再调用阿,只要看不到就没差 01/02 01:24
49F:→ MOONRAKER:如果用backbone.js那种新兵器,好像就可以在前端达成MVC 01/02 11:44
50F:→ MOONRAKER:并且code和HTML完全分离!? 01/02 11:44







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灯, 水草

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

TOP