一、扎实PHP自身的基础知识、函数、常量等,尽量用内置的方法解决这个问题(由于个人写的往往运行效率没有内置方法高);

二、代码尽量少的实现功能(由于PHP的运行事实上是,将咱们的代码先处理成底层语言进行机器运行,假设代码多,转化的内容多自然耗时多);

三、进行优化时能够通过压力測试ab进行測试自己写的代码,并对代码进行优化后,再次压測一下效率;

四、少用@符号;

五、多使用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开发工作心得的更多相关文章

  1. [Web前端] WEEX、React-Native开发App心得 (转载)

    转自: https://www.jianshu.com/p/139c5074ae5d 2018 JS状态报告: https://2018.stateofjs.com/mobile-and-deskto ...

  2. Java2年开发工作经验面试总结

    Java2年开发工作经验面试总结最近换了个公司,从二月底开始面,面到三月底,面了有快二十五家公司.我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些 ...

  3. Outfit7 庆祝其开发工作大获丰收

    走不寻常路之经验总结 每位合格应用开发人员都拥有相同的目标:灵机一动,构建独创性原型,克服各种困难,最终吸引投资者将其想法推向市场. 名声.财富以及构建更多应用的机会将接踵而至. 焦虑.改善和重复是开 ...

  4. 11.11光棍节工作心得——github/MVP

    11.11光棍节工作心得 1.根据scrum meeting thirdday中前辈的指导进行学习 我在博客中贴了链接,竟然TrackBack引来了原博主,

  5. fir.im Weekly - 聊聊让人向往的远程开发工作

    6月30 日,苹果开发者后台贴出一封关于广电总局的醒目通知,申报一个游戏 APP 上架AppStore,你需要文网文+ICP证+软著+版号,审批难度将越来越大,不禁让人感慨中国独立开发者的成长 &qu ...

  6. Java开发学习心得(二):Mybatis和Url路由

    目录 Java开发学习心得(二):Mybatis和Url路由 1.3 Mybatis 2 URL路由 2.1 @RequestMapping 2.2 @PathVariable 2.3 不同的请求类型 ...

  7. Java开发学习心得(一):SSM环境搭建

    目录 Java开发学习心得(一):SSM环境搭建 1 SSM框架 1.1 Spring Framework 1.2 Spring MVC Java开发学习心得(一):SSM环境搭建 有一点.NET的开 ...

  8. 转载关于Python Web后端开发面试心得

    先介绍下我的情况:通信背景,工作一年多不到两年.之前一直在做C++的MFC软件界面开发工作.公司为某不景气的国企研究所.(喏,我的工作经验很水:1是方向不对:2是行业有偏差).然后目前是在寻找Pyth ...

  9. java工程师之旅-一个月工作心得

    不知不觉,在工作中已经度过一个月,距离上次写文章已经好几个月了,正好还有二十分钟下班,抽点时间来写一下博文,写一下心得. 首先说一下,在我工作之前,做了一个项目,和一个外校大四的学生做一个毕业设计,一 ...

随机推荐

  1. fuelgauge

    void fg_init(void *queue, void (*bs_fuel_gauge_status)(void)) { fg_init_ready = bs_fuel_gauge_status ...

  2. iOS11及Xcode9适配问题汇总

    UIScrollView and UITableView的新特性 ScrollView 如果有一些文本位于UI滚动视图的内部,并包含在导航控制器中,现在一般navigationContollers会传 ...

  3. MySQL创建存储过程/函数需要的权限

    alter routine---修改与删除存储过程/函数 create routine--创建存储过程/函数 execute--调用存储过程/函数 下面有一篇介绍MySQL所有权限的博文 http:/ ...

  4. lms111,rplidar 方向和起始角

    上图中,从X反方向是开始,按顺时针方向增加,实际运转方向也为顺时针方向. lms111:正放时:数据按逆时针依次输出.(起始----->结束) 北阳:正放时:数据按逆时针依次输出

  5. k8s之nginx-ingress、 Daemonset实现生产案例

    上一篇中用node ip + 非80端口,访问k8s集群内部的服务.实际生产中更希望用node ip + 80端口的方式,访问k8s集群内的服务. # 修改mandatory.yaml中创建控制器部分 ...

  6. 第2章 Spring Boot 文档

    Spring Boot 文档 本节简要介绍了Spring Boot文档,是整个文档的参考指南. 您可以完整阅读本参考指南,或者如果您不感兴趣的话可以跳过该部分. 1. 关于文档 Spring Boot ...

  7. error错误信息状态码含义

    XMLHttpRequest.status: 200:成功. 401:拒绝访问. 403:禁止访问. 404:找不到. 405:方法不被允许. 407:要求进行代理身份验证. 500:内部服务器错误. ...

  8. JDK1.8中的Lambda表达式和Stream

    1.lambda表达式 Java8最值得学习的特性就是Lambda表达式和Stream API,如果有python或者javascript的语言基础,对理解Lambda表达式有很大帮助,因为Java正 ...

  9. 继承LIst 的类JSON序列化,无法序列化属性的问题

    /// <summary> /// Paged list /// </summary> /// <typeparam name="T">T< ...

  10. 【hibernate】唯一约束 注解

    唯一约束注解 单列约束和联合约束 分别如下 @Table( uniqueConstraints = { @UniqueConstraint(columnNames = "uid") ...