PHP开发工作心得
一、扎实PHP自身的基础知识、函数、常量等,尽量用内置的方法解决这个问题(由于个人写的往往运行效率没有内置方法高);
二、代码尽量少的实现功能(由于PHP的运行事实上是,将咱们的代码先处理成底层语言进行机器运行,假设代码多,转化的内容多自然耗时多);
三、进行优化时能够通过压力測试ab进行測试自己写的代码,并对代码进行优化后,再次压測一下效率;
LX5{XVIQ9)Z6JP.jpg)
LX5{XVIQ9)Z6JP.jpg)
四、少用@符号;
五、多使用unset()函数。将变量注销释放;
六、少用正則表達式,双刃剑;
七、避免循环for循环条件中做运算;
八、数组的key值,务必使用带引號的字符串做键值,为什么务必这么干?
当$arr = array( "key"=>"hehe" ); $arr["key"] 是正确的、提高效率的
$arr[key] 这样没有引號的,是不好的,由于PHP运行时。发现key没有引號
此时,他会去检查key是否是一个常量。假设开启错误机制报错的话会提示notice
未发现key这个常量。
假设加了 引號后,PHP会直接进入$arr数组中寻找为key的键值。
相对效率就高效了
九、影响PHP性能的外部因素有:
此点的 启发是: 当一个站点非常慢时。或许不是PHP本身的性能慢了、可能是网络问题、可能是硬件问题等;作为一个架构师排除问题所在就不能停留在程序的优化了!
十、读取内存内容要比读取数据库内容效率要高。所以说大流量提速站点往往用memcache、redis等分布式缓存将数据缓存到内存。然后先和内存进行数据的读取。
十一、通过XHPorf(源自 Facebook測试PHP性能分析 工具)。能够測试出訪问站点的流程。而且能够通过流程图标红的区域高速找到,耗时方法,进行方法优化就可以;
PHP开发工作心得的更多相关文章
- [Web前端] WEEX、React-Native开发App心得 (转载)
转自: https://www.jianshu.com/p/139c5074ae5d 2018 JS状态报告: https://2018.stateofjs.com/mobile-and-deskto ...
- Java2年开发工作经验面试总结
Java2年开发工作经验面试总结最近换了个公司,从二月底开始面,面到三月底,面了有快二十五家公司.我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些 ...
- Outfit7 庆祝其开发工作大获丰收
走不寻常路之经验总结 每位合格应用开发人员都拥有相同的目标:灵机一动,构建独创性原型,克服各种困难,最终吸引投资者将其想法推向市场. 名声.财富以及构建更多应用的机会将接踵而至. 焦虑.改善和重复是开 ...
- 11.11光棍节工作心得——github/MVP
11.11光棍节工作心得 1.根据scrum meeting thirdday中前辈的指导进行学习 我在博客中贴了链接,竟然TrackBack引来了原博主,
- fir.im Weekly - 聊聊让人向往的远程开发工作
6月30 日,苹果开发者后台贴出一封关于广电总局的醒目通知,申报一个游戏 APP 上架AppStore,你需要文网文+ICP证+软著+版号,审批难度将越来越大,不禁让人感慨中国独立开发者的成长 &qu ...
- Java开发学习心得(二):Mybatis和Url路由
目录 Java开发学习心得(二):Mybatis和Url路由 1.3 Mybatis 2 URL路由 2.1 @RequestMapping 2.2 @PathVariable 2.3 不同的请求类型 ...
- Java开发学习心得(一):SSM环境搭建
目录 Java开发学习心得(一):SSM环境搭建 1 SSM框架 1.1 Spring Framework 1.2 Spring MVC Java开发学习心得(一):SSM环境搭建 有一点.NET的开 ...
- 转载关于Python Web后端开发面试心得
先介绍下我的情况:通信背景,工作一年多不到两年.之前一直在做C++的MFC软件界面开发工作.公司为某不景气的国企研究所.(喏,我的工作经验很水:1是方向不对:2是行业有偏差).然后目前是在寻找Pyth ...
- java工程师之旅-一个月工作心得
不知不觉,在工作中已经度过一个月,距离上次写文章已经好几个月了,正好还有二十分钟下班,抽点时间来写一下博文,写一下心得. 首先说一下,在我工作之前,做了一个项目,和一个外校大四的学生做一个毕业设计,一 ...
随机推荐
- fuelgauge
void fg_init(void *queue, void (*bs_fuel_gauge_status)(void)) { fg_init_ready = bs_fuel_gauge_status ...
- iOS11及Xcode9适配问题汇总
UIScrollView and UITableView的新特性 ScrollView 如果有一些文本位于UI滚动视图的内部,并包含在导航控制器中,现在一般navigationContollers会传 ...
- MySQL创建存储过程/函数需要的权限
alter routine---修改与删除存储过程/函数 create routine--创建存储过程/函数 execute--调用存储过程/函数 下面有一篇介绍MySQL所有权限的博文 http:/ ...
- lms111,rplidar 方向和起始角
上图中,从X反方向是开始,按顺时针方向增加,实际运转方向也为顺时针方向. lms111:正放时:数据按逆时针依次输出.(起始----->结束) 北阳:正放时:数据按逆时针依次输出
- k8s之nginx-ingress、 Daemonset实现生产案例
上一篇中用node ip + 非80端口,访问k8s集群内部的服务.实际生产中更希望用node ip + 80端口的方式,访问k8s集群内的服务. # 修改mandatory.yaml中创建控制器部分 ...
- 第2章 Spring Boot 文档
Spring Boot 文档 本节简要介绍了Spring Boot文档,是整个文档的参考指南. 您可以完整阅读本参考指南,或者如果您不感兴趣的话可以跳过该部分. 1. 关于文档 Spring Boot ...
- error错误信息状态码含义
XMLHttpRequest.status: 200:成功. 401:拒绝访问. 403:禁止访问. 404:找不到. 405:方法不被允许. 407:要求进行代理身份验证. 500:内部服务器错误. ...
- JDK1.8中的Lambda表达式和Stream
1.lambda表达式 Java8最值得学习的特性就是Lambda表达式和Stream API,如果有python或者javascript的语言基础,对理解Lambda表达式有很大帮助,因为Java正 ...
- 继承LIst 的类JSON序列化,无法序列化属性的问题
/// <summary> /// Paged list /// </summary> /// <typeparam name="T">T< ...
- 【hibernate】唯一约束 注解
唯一约束注解 单列约束和联合约束 分别如下 @Table( uniqueConstraints = { @UniqueConstraint(columnNames = "uid") ...