打印

[经验心得] PHPer,你真的用了最节能的算法了吗?

PHPer,你真的用了最节能的算法了吗?

作品我看了下,很不好~!www.17dst.com&h&]+@;O3X

6F6?,P%T,}*r+}17DST用着模棱两可的MySQL查询请求17DST.com 致力于Discuz!插件、风格作者等第三方发展,拥有Discuz!插件风格中心(DAC),一键安装和卸载Discuz!插件及Discuz!风格。以协作开发论坛来保护作者版权并鼓励协作开发。并帮助中小站长发展。是Discuz!官方认可和推荐的站长和作者的交流平台。$_)s2Z/q6^0^
www.17dst.com&I-M+i#o*A:X
用着什么事都用Cache的习惯
;[-@"C#Y'B#j7t5g4R17DST
5X/t2d;f6z0F6_'P3a17DST没有多想想本地与数据库两个之间的距离~!网络软件第三方及站长交流论坛 | Discuz!插件风格中心服务论坛 S;y;e#P0D
17DST.com 致力于Discuz!插件、风格作者等第三方发展,拥有Discuz!插件风格中心(DAC),一键安装和卸载Discuz!插件及Discuz!风格。以协作开发论坛来保护作者版权并鼓励协作开发。并帮助中小站长发展。是Discuz!官方认可和推荐的站长和作者的交流平台。2[1Z*p7@&A.x.U/o @9y
www.17dst.com+n;F9Q#a*q'g2|*A
这是17DST中大多数PHPer都会犯的错误!
9s/c B7\-Y2m&\0V N*s
$V)b(m3_$y,?2Zwww.17dst.com一:MySQL请求
3s5r(Q!x(_*J4v/}8lDiscuz!插件风格中心,Discuz插件,dz插件,Discuz风格,dz风格,Discuz!教程,DZ风格教程,DZ插件教程,一键安装,一键卸载,第三方,插件作者,风格作者,协作开发,站长,建站,php,Discuz!支持团队,Discuz! Support Team*Q/e4Y2s(n*h
要写就应该写规范,新的MySQL对请求的要求越来越严格,如果还用着这种模棱两可的请求,就只能给你一大行E文!为什么这个连代码最”不科学”的PW也做到的东西,你们怎么就做不到?9s,Y%L-m1E1P
Discuz!插件风格中心,Discuz插件,dz插件,Discuz风格,dz风格,Discuz!教程,DZ风格教程,DZ插件教程,一键安装,一键卸载,第三方,插件作者,风格作者,协作开发,站长,建站,php,Discuz!支持团队,Discuz! Support Team%h.I8z8K3S6[-\
二:Cache
*S,w1h7E x#w.Q)]1e网络软件第三方及站长交流论坛 | Discuz!插件风格中心服务论坛
/y4e:E B I2n%a记录时间 记录一个数字 甚至记录一堆混合数据,你有没有想过节能呢?
&|"^$L#t'j!Q)z2T网络软件第三方及站长交流论坛 | Discuz!插件风格中心服务论坛17DST/e,t;o-`%}.R
记录时间,用touth,直接记录给一个0字节的文件(Windows系统的FTP不允许上传0字节文件,用touth可以创建)www.17dst.com9\7P/B+s a \$i1s

.f%?,?4^)Z;rDiscuz!插件风格中心,Discuz插件,dz插件,Discuz风格,dz风格,Discuz!教程,DZ风格教程,DZ插件教程,一键安装,一键卸载,第三方,插件作者,风格作者,协作开发,站长,建站,php,Discuz!支持团队,Discuz! Support Team记录数字,如果你只要记录一个数字,那么直接file_put_contents过去,虽然不能用include简便地引用,但是一句file_get_contents不算难吧?www.17dst.com)r6T&i&s#A/?/u)V&u"W
www.17dst.com'A+F N w1}9e9A3I!K/m

7K(r e(K'n:Ywww.17dst.com记录一堆混合数据,像config.inc.php的:www.17dst.com/Q!?&M!P Y l)@

!b0](F+~$X;L)S4U'bwww.17dst.com一个数据一行(转行一个\n)!读取时list(XXXXXX,XXXXXX)=explode('\n',file_get_contents("./XXXXX"));
({0E"Y0[9P c5Hwww.17dst.comDiscuz!插件风格中心,Discuz插件,dz插件,Discuz风格,dz风格,Discuz!教程,DZ风格教程,DZ插件教程,一键安装,一键卸载,第三方,插件作者,风格作者,协作开发,站长,建站,php,Discuz!支持团队,Discuz! Support Team6}1g#|%l.{
如果有array,那么就这么做:17DST"r3?-z'i2U/]-a1e-r3I
网络软件第三方及站长交流论坛 | Discuz!插件风格中心服务论坛'[5[#p/_!\;K'w;K
一个数据一行(\n),array按array(XXX,XXX),字符串””或'',数字不用——就这样!17DST1V6w5E,Q4O(w6|.u"X

$M(L%D8c6x9[$~网络软件第三方及站长交流论坛 | Discuz!插件风格中心服务论坛$a=explode('\n',file_get_contents("./XXXXX"));17DST.com 致力于Discuz!插件、风格作者等第三方发展,拥有Discuz!插件风格中心(DAC),一键安装和卸载Discuz!插件及Discuz!风格。以协作开发论坛来保护作者版权并鼓励协作开发。并帮助中小站长发展。是Discuz!官方认可和推荐的站长和作者的交流平台。5S$P;a;S9K*D#t
$b=array(XXXXXX,XXXXXX,XXXXXX);
2G3~+Y3k&d"B)\(A9vforeach($a as $c){网络软件第三方及站长交流论坛 | Discuz!插件风格中心服务论坛2P'H-v#Z!@
eval("$".array_shift($c)."=".$a);
,h4u.w#j(n7bDiscuz!插件风格中心,Discuz插件,dz插件,Discuz风格,dz风格,Discuz!教程,DZ风格教程,DZ插件教程,一键安装,一键卸载,第三方,插件作者,风格作者,协作开发,站长,建站,php,Discuz!支持团队,Discuz! Support Team}17DST;H0{1b:O*H/M)a$^,w

.u!V+q8Q&F!{-FDiscuz!插件风格中心,Discuz插件,dz插件,Discuz风格,dz风格,Discuz!教程,DZ风格教程,DZ插件教程,一键安装,一键卸载,第三方,插件作者,风格作者,协作开发,站长,建站,php,Discuz!支持团队,Discuz! Support Team不要担心可能被黑客利用什么的,只要你这个XXXXX能做好保护就可以了,如果别人能修改这个,那么要攻击你的服务器还成问题?

TOP

回复 1# 的帖子

一 MySQL请求 www.17dst.com#R#T#z9~4f5Q1M0c7P4b#A
首先我不清楚LZ所说的不规范指什么 不过我认为 把DST的"PHPer"和所谓代码最”不科学”的PW做比较本身就不科学 毕竟DST中的PHPer大都是接触时间不久的新手 不是专业开发人员 专业开发人员有其自己或团队的代码风格和标准 PW作为一个公司 其本身必然会对产品进行规范要求 这没有可比性 对于新手好的代码习惯是很关键的 有一些经验的人可以引导而不是指责 当然更不是把自己的习惯强加给别人 "你们怎么就做不到" 请问LZ刚接触PHP+MySQL的时候就能完全按照规范写代码么 每个人成长都需要时间和空间 如果觉得有必要可以提供一些比较通用的规范供大家学习17DST.com 致力于Discuz!插件、风格作者等第三方发展,拥有Discuz!插件风格中心(DAC),一键安装和卸载Discuz!插件及Discuz!风格。以协作开发论坛来保护作者版权并鼓励协作开发。并帮助中小站长发展。是Discuz!官方认可和推荐的站长和作者的交流平台。1O-S+x$^#p4G'c1P&T
Discuz!插件风格中心,Discuz插件,dz插件,Discuz风格,dz风格,Discuz!教程,DZ风格教程,DZ插件教程,一键安装,一键卸载,第三方,插件作者,风格作者,协作开发,站长,建站,php,Discuz!支持团队,Discuz! Support Team5{8e5o7M!t/W%R5n5R
二 CACHE 17DST%\9h:}1W!n
记录时间: 很少遇到单独记录的情况 不发表看法
9] ?-H)o%P)L网络软件第三方及站长交流论坛 | Discuz!插件风格中心服务论坛
4N:Z!`.v$I4]17DST.com 致力于Discuz!插件、风格作者等第三方发展,拥有Discuz!插件风格中心(DAC),一键安装和卸载Discuz!插件及Discuz!风格。以协作开发论坛来保护作者版权并鼓励协作开发。并帮助中小站长发展。是Discuz!官方认可和推荐的站长和作者的交流平台。记录数字: file_put_contents 需求PHP5.0以上 尽管PHP官方已经不在支持PHP4.X 但还是有很多网站在使用低于5.0的版本 特别是一些虚拟主机或免费空间 IDC可不会管那么多 记录单个数字的情况也不常见 通常都是一组数据 这就属于下一条内容了吧
2Y7k6h7S&`7_2e&A7C X
)x Z/{#m;i.I17DST.com 致力于Discuz!插件、风格作者等第三方发展,拥有Discuz!插件风格中心(DAC),一键安装和卸载Discuz!插件及Discuz!风格。以协作开发论坛来保护作者版权并鼓励协作开发。并帮助中小站长发展。是Discuz!官方认可和推荐的站长和作者的交流平台。记录一堆混合数据: 目前常见的PHPcache 虽然耗能 include效率也不比单纯的file_get_contents高 但有一个特点是便于开发 写入cache后可以通过阅读cache文件判断是否正常 开发阶段用cache比较方便 象插件或一些开放的程序 容易被阅读和除错是比较重要的 用纯文本缓存数据的方法我也用过 不过不是list或者eval 而是serialize/unserialize 后期维护很成问题 所以很少用 相信用LZ的方法并不比我的方法简单多少4X.O$^7N:o#N;M$c)p(R6Q
网络软件第三方及站长交流论坛 | Discuz!插件风格中心服务论坛/D*G*v6_!T.N2k'D.A.U
节能增效是个很值得深思的问题 不是节约硬盘和内存就节能了 关键还是增效 软件工程有一个理论是空间换时间 在允许的范围内增加硬盘或内存消耗而减少程序执行时间 对比来讲 cache的写<<读 如何提高读取并转化为可用数据的整个过程的效率才是主要问题 另一个主要问题是程序的后期维护(包括二次开发 升级 除错等)  如果程序就一个人开发、维护和使用 完全可以使用任何个人能理解的方式来处理 但事实上这种模式的程序不可能在DST出现 试想一下 DZ的cache都用纯文本来处理 会给后期开发和升级造成多大难度 再比如 面向对象本身比面向过程并不节能 但前者的开发效率和后期维护方面都较后者强 再联系到DST的人员组成上来 很多人开始的时候都只是照猫画虎 会用cache缓存数据也是慢慢摸索出来的 一步难登天 有些更快捷更方便的方法 或许连PHP从业若干年的专业人士都未必了解 还是那句话 象LZ这样的前辈 多提供些经验、技巧、资料供大家学习吧$s.r!_$]7w

1U2j+E:Q4k!@+i1lwww.17dst.com综上 我支持在程序设计中尽可能的节能增效 也支持使用符合规范的语法和结构 但是这些需要经验和积累 DSTer真正专门从事开发的PHPer没有几个 前辈达人应该多一些宽容和引导 并给予大家更多的支持和鼓励)G"C,b2M P K4s/X2Z%@;I(W
www.17dst.com)K'[;c3I/U3c!W(E
以上是个人的一些看法 如有不当请LZ指正
Por los momentos dificiles,ya entendi que la flor mas bella sera siempre para mi
------------------------------------
因这所有的挫折
我终于明白
那最美丽的花朵
是为自己而盛开

TOP


当前时区 GMT+8, 现在时间是 2008-10-12 10:09 京ICP备08003531号

Designed By 17DST
Baidu XML