从0到1优雅的实现PHP多进程管理

2017-11-30
阅读 5 分钟
8.1k
在我们实际的业务场景中(PHP技术栈),我们可能需要定时或者近乎实时的执行一些业务逻辑,简单的我们可以使用unix系统自带的crontab实现定时任务,但是对于一些实时性要求比较高的业务就不适用了,所以我们就需要一个常驻内存的任务管理工具,为了保证实时性,一方面我们让它一直执行任务(适当的睡眠,保证cpu不被100%占...

这两年多我写PHP业务代码的方式是如何进化的

2017-10-30
阅读 2 分钟
7.3k
曾今 谁都有过迷茫期,下面是我开始PHP开发中,不断改变的代码组织方式。 初期:所有代码一股脑控制器controller 曾今只是简单的理解MVC 中期:业务代码抽象一部分到模型层model 开始觉得model层是否该做点什么了 后期:业务代码控制器,模型层只写db的curd方法 复杂的业务代码使controller过于的庞大和难以维护 当下 汲...

PHPer月工作总结之观察者&装饰器模式

2017-08-23
阅读 6 分钟
3.8k
还是每月的目标至少写一篇文章,一晃八月份就要过去了,这个月依然没有什么产出,毫无疑问最近的状态就是不停的工作,不停的加班。所以还是把最近工作进行一个总结,首先来我看看这段时间我做了什么?

两年PHPer聊下架构

2017-08-06
阅读 2 分钟
6.9k
2016年很有幸参与了公司内部系统架构3.0的升级,我们把公司的业务进行了四大板块的拆分,分别是应用服务、内容服务、电商服务、支付服务。其他和业务无关的功能拆分到了基础服务,为全公司的业务提供基础服务能力,例如短信、app推送、微信模板消息、图片上传等服务能力。我们还建立我们自己的网关服务,对外提供了统一...

PHP框架性能不权威对比

2017-06-23
阅读 8 分钟
6.3k
测试环境 {代码...} 测试前预热 ab -c 100 -n 100000 "http://easy-php.local/Demo/Index/hello" 测试 预热结束之后,各个框架分别输出"hello world". 本地ab压测: ab -c 100 -n 10000 domain Thinkphp 3.2 {代码...} Thinkphp 5 {代码...} Yii2 {代码...} Laravel 5.4 {代码...} Lumen {代码...} Easy PHP {代码...} ...

PHPer这样写代码也许更优雅

2017-06-13
阅读 7 分钟
6k
前言 转眼间成为一名PHPer已经快整整两年了,在这期间也对如何写出可读性高,便于扩展的代码有了一些自己的想法。 使用引用 场景一:遍历一个数组获取新的数据结构 也许你会这样写: {代码...} 接下来我们使用引用值: {代码...} 使用引用是不是使我们的代码更加的简洁,除此之外相对于第一种写法,我们节省了内存空间,...

从0开始构建一个属于你自己的PHP框架

2017-05-07
阅读 15 分钟
13.1k
为什么我们要去构建一个自己的PHP框架?可能绝大多数的人都会说“市面上已经那么多的框架了,还造什么轮子?”。我的观点“造轮子不是目的,造轮子的过程中汲取到知识才是目的”。

PHPer的月工作总结之构建抽奖工具

2017-05-02
阅读 4 分钟
3.1k
目标是每个月写一篇文章,对从事编程开发的基础知识做一个学习总结。这个月的计划本来是对基础的数据结构做一个沉淀,但是,但是,但是......这个月的的状态就是工作工作...既然这样就总结下这个月的工作吧。

PHPer也来聊聊HTTP

2017-03-26
阅读 5 分钟
4.7k
前言 三月份就快要结束了,这个月定的目标是对http的基础知识点做一个落地。直入主题我们顺着下面的思路去对http基础知识做一个总结: 概念 五层网络协议 HTTP Method HTTP Status HTTP Header Cookie/Session HTTPs Websocket HTTP2 概念 什么是http?Hypertext Transfer Protocol, 超文本传输(转移)协议,是客户端和服...

试探API Blueprint接口文档生成和接口模拟

2017-03-08
阅读 2 分钟
4.3k
API Blueprint. A powerful high-level API description language for web APIs.

PHP魔法函数性能分析

2017-03-05
阅读 9 分钟
3.3k
曾经记得鸟哥Laruence提过不建议使用"魔术方法",自此之后一旦涉及使用魔术方法的地方,我都会下意识的想一下,这样写真的好吗?由于这一到两年来一直忙于工作和学习新的知识,所以在这道坎儿上一直没有做深入的探索一直恍恍惚惚过去了,今年是我进行深入学习的一年,因此现在必须对这个问题做个了结了。我们先来看看鸟...

redis五种常见使用场景下PHP实现

2017-02-19
阅读 1 分钟
10.1k
前言 redis等nosql简单高效的解决了高并发场景下的一系列问题,并很大程度的解放了持久化DB的业务压力。 实现 基于redis字符串string类型的简单缓存实现 基于redis列表list类型的简单队列实现 基于redis字符串setnx的悲观锁实现 基于redis事务的乐观锁实现 基于redis的发布订阅实现 测试用例 5种使用场景都提供测试用例...

符合PSR的PHP编程规范实例

2016-12-19
阅读 3 分钟
3.3k
前言 好的代码书写习惯可以让人赏心悦目 实例 {代码...} 纠错 如果有写的不对的地方欢迎大家指正,THX~ 感谢 感谢@JellyBool,@waterloocode,@553234729提出的错误 扫面下方二维码关注我的技术公众号,及时为大家推送我的原创技术分享

PHP完整实战23种设计模式

2016-12-14
阅读 1 分钟
30.5k
前言 设计模式是面向对象的最佳实践 实战 PHP实战创建型模式 单例模式 工厂模式 抽象工厂模式 原型模式 建造者模式 PHP实战结构型模式 桥接模式 享元模式 外观模式 适配器模式 装饰器模式 组合模式 代理模式 过滤器模式 PHP实战行为型模式 模板模式 策略模式 状态模式 观察者模式 责任链模式 访问者模式 解释器模式 备忘...

常用sql语句整理:mysql

2016-11-24
阅读 2 分钟
3k
增 增加一张表 {代码...} 增加记录 {代码...} 增加字段 {代码...} 增加索引 主键 {代码...} 唯一索引 {代码...} 普通索引 {代码...} 全文索引 {代码...} 删 逐行删除 {代码...} 清空整张表 {代码...} 删除表 {代码...} 删除字段 {代码...} 删除索引 {代码...} 改 变更数据 {代码...} 变更字段 {代码...} 变更字段值为另...

利用php重载和curl的并行方式优雅的封装小米推送sdk

2016-10-12
阅读 10 分钟
3.8k
刚好这段时间了解了一下php的重载概念【动态的创建类属型和方法,不同于java等的参数不同方法名相通的概念,具体的概念可以RTFM】和curl的并发方式,所以

career-tips | 踩坑路

2016-09-24
阅读 6 分钟
2.3k
a little tips in my code career | 码码踩过的那些坑2015-2016 记一下这一年码码中我需要去了解的基础知识,有不对的欢迎大家指证出来:[链接] 关于设计模式 关于PHP 关于互联网协议 设计模式 面向对象的设计原则 对接口编程,不要对实现编程 使用对象之间的组合,减少对继承的使用 抽象用于不同的事物,而接口用于事物...

我的编程之路:网编到全栈的漫长路

2016-03-26
阅读 2 分钟
2.9k
为什么写这篇文章 把自己的经历分享出来,为正在迈上码农界的新人们加油打气 把自己这两年的积累的略微经验分享出来 简介 我呢?非科班出生,至今工作两年,打杂一年,真正做码农一年。 毕业前四年 这段时间你们懂的,就不多说了... 毕业前一年 我是怎么走上编程路的,这一年很关键。首先得从某米手机说起,那时候趁着某...