摘要: PHP从诞生以来就受到广大编程爱好者的喜欢,成为中小站长的好帮手,并培养了大量的PHP编程人员,但是随着PHP的应用越发广泛,很多时候已不限于从事中小网站的应用,一些大型PHP项目也屡见不鲜。 当我们选择PHP开发大型项目时,就不得不考虑开发效率、开发规范、后期维护等问题,这时大家往往会选择一款人们所认可的开发框架,目前所流行的Zend Framework、Yii、Symfony、CodeIgniter、CakePHP等都声称有着开发大型应用的能力。 新框架层出不穷,但当我们真正应用这些框架去实现产品又总是会有各种不同的问题产生: 一、大型框架的背后往往有着较为深厚的结构理论... 阅读全文
posted @ 2013-05-28 13:56 joy696163 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 工作八年 职场感悟 说起这个话题,很多人肯定要笑了,才8年的时间,还敢妄谈感悟?但是我还是把自己这些年的一些经历写出来做个总结,所谓感我之所敢,悟我之所悟吧,顺便也给某美女送个人情。 我是一个地道的北方人,但我偏就不是很喜欢北方,并无偏见,个性使然,小时候就对日出江花红似火,春来江水绿如蓝的江南充满神往,大学在华北读了4年金融,即将毕业的一场变故改变了我的人生轨迹,顿悟人生竟如此多的不确定,也曾因此消沉过,也曾沮丧的想回家逃避,但是想到人生苦短,想到自己的那么多梦想还没有开始,还是毅然的一个人来到了江南一城市,这无疑是个充满生机和活力的城市,但对于我来说更是个陌生的城市,在这个城市里我没有一. 阅读全文
posted @ 2013-05-24 17:27 joy696163 阅读(265) 评论(0) 推荐(0) 编辑
摘要: concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串。indexOf() – 返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回 -1 。charAt() – 返回指定位置的字符。lastIndexOf() – 返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 。match() – 检查一个字符串是否匹配一个正则表达式。substring() – 返回字符串的一个子串。传入参数是起始位置和结束位置。replace() – 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。search() – 执行一个正则表达式匹配查找。如果查找 阅读全文
posted @ 2013-05-21 23:29 joy696163 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、$row[’id’] 的速度是$row[id]的7倍。3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。4、在执行for循环之前确定最大循环数,不要每循环 阅读全文
posted @ 2013-05-21 23:25 joy696163 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 1、WHERE字句的查询条件里有不等于号(WHERE column!=...),MYSQL将无法使用索引2、类似地,如果WHERE字句的查询条件里使用了函数(如:WHERE DAY(column)=...),MYSQL将无法使用索引3、在JOIN操作中(需要从多个数据表提取数据时),MYSQL只有在主键和外键的数据类型相同时才能使用索引,否则即使建立了索引也不会使用4、如果WHERE子句的查询条件里使用了比较操作符LIKE和REGEXP,MYSQL只有在搜索模板的第一个字符不是通配符的情况下才能使用索引。比如说,如果查询条件是LIKE 'abc%',MYSQL将使用索引;如果条 阅读全文
posted @ 2013-05-21 23:24 joy696163 阅读(3164) 评论(0) 推荐(1) 编辑
摘要: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎 阅读全文
posted @ 2013-05-21 23:12 joy696163 阅读(4972) 评论(0) 推荐(0) 编辑
摘要: 解决方法:以管理员方式打开cmd.exe,运行如下命令:netsh winsock reset catalognetsh int ip reset reset.log hit让被阻止了的svchost.exe进程恢复正常,以解决Windows 7 通信端口初始化失败的问题 阅读全文
posted @ 2013-04-08 12:09 joy696163 阅读(876) 评论(0) 推荐(0) 编辑
摘要: 任何一位数据库程序员都会有这样的体会:高通信量的数据库驱动程序中,一条糟糕的SQL查询语句可对整个应用程序的运行产生严重的影响,其不仅消耗掉更多的数据库时间,且它将对其他应用组件产生影响。如同其它学科,优化查询性能很大程度上决定于开发者的直觉。幸运的是,像MySQL这样的数据库自带有一些协助工具。本文简要讨论诸多工具之三种:使用索引,使用EXPLAIN分析查询以及调整MySQL的内部配置。一、使用索引MySQL允许对数据库表进行索引,以此能迅速查找记录,而无需一开始就扫描整个表,由此显著地加快查询速度。每个表最多可以做到16个索引,此外MySQL还支持多列索引及全文检索。给表添加一个索引非常简 阅读全文
posted @ 2013-04-04 12:38 joy696163 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 首先是如何检查SQL的效率.1.善用explain:设计SQL后,应使用explain命令检查SQL,看是否使用到索引,是否存在filesort,重点检查检索的行数(rows)是否太大。一般来说.rows<1000,是在可接受的范围内的。rows在1000~1w之间,在密集访问时可能导致性能问题,但如果不是太频繁的访问(频率低于1分钟一次),又难再优化的话,可以接受,但需要注意观察rows大于1万时,应慎重考虑SQL的设计,优化SQL,优化db,一般来说不允许频繁运行(频率低于1小时一次)。rows达到10w级别时,坚决不能做为实时运行的SQL。但导数据场合除外,但导数据必须控制好时间, 阅读全文
posted @ 2013-04-02 09:49 joy696163 阅读(226) 评论(1) 推荐(0) 编辑
摘要: php函数中,有一组以ob_开头的函数,被称为Output Control函数,通过设置缓冲区用来控制数据的输出,其中ob_start为开启缓冲区。当用户开启了缓冲区,所有将要输出到页面的信息将先被放置在缓冲区内,直到你用 flush 或者 ob_end_flush 才会输出到页面上。不过对使用 header() 或 setcookie() 发送的文件头信息不会被写入缓冲区,对header()有多了解就知道,在使用header函数之前,页面是不能有输出哪怕是空格和换行也不行,否则就会报“Header had all ready send by”的错误信息了。当时当我们在页面最开始开启了缓冲区( 阅读全文
posted @ 2013-03-27 10:55 joy696163 阅读(316) 评论(0) 推荐(0) 编辑