php 0 篇文章

thinkphp+queue+supervisor

### 1.thinkhphp安装queue扩展 我使用的是composer安装(composer安装地址:[https://pkg.phpcomposer.com](https://links.jianshu.com/go?to=https%3A%2F%2Fpkg.phpcomposer.com)) 直接在项目根目录运行 `composer require topthink/think-queue`

Github 的 Restful HTTP API 设计分解

Github 的 Restful HTTP API 设计分解
## 什么是 RESTful RESTful 是一种软件设计风格,由 [Roy Fielding](http://roy.gbiv.com/) 在他的 [论文](http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm) 中提出,全称为 `Representational State Transfer`,直译为`表现层状态转移`,或许可以解释为`用 URL 定位资源,用 HTTP 动词描述操作`,不用太纠结于定义,接下来我们会详细讨论。

开发自己的 composer 包

开发自己的 composer 包
composer 是 PHP 用来管理依赖(dependency)关系的工具, 使用 composer 在业务中是非常常见的,比如使用 阿里 oss 的 sdk ,短信 sdk ,非常好用的微信sdk [*EasyWeChat*](https://www.baidu.com/link?url=wce7h59rCdF3R9KpqtjM07y9fL8BZBeL7F_TLTvgsP6sm2Y3d5fxEHmqb57s19bY&wd=&eqid=f2163e250011d462000000035d831eba) 都是使用composer 安装, 一个业务的形成就如同搭建积木一样,通过composer 引入各种组件完成,但很多 phper 依然不会开发自己的 composer 包(我也只是会用一下),下面是记录自己开发 composer 的过程。

PHP 伪异步实现 通过 CURL 实现 PHP 异步

介绍一种PHP通过`curl`实现`异步`处理的方式,目前应用在我的项目中,使用之前需要安装`php_curl`扩展 因为curl请求的接口是同一个项目里面的,所以用这种方式比较方便, 1. `curl_setopt($ch, CURLOPT_TIMEOUT, 1);` 将curl超时时间设置为1s介绍一种PHP通过`curl`实现`异步`处理的方式,目前应用在我的项目中,使用之前需要安装`php_curl`扩展

(转载) Laravel 最佳实践

### **单一职责原则** 一个类和一个方法应该只有一个责任。 例如: ``` public function getFullNameAttribute() { if (auth()->user() && auth()->user()->hasRole('client') && auth()->user()->isVerified()) { return 'Mr. ' . $this->first_name . ' ' . $this->middle_name . ' ' . $this->last_name; } else { return $this->first_name[0] . '. ' . $this->last_name; } } ```

php 多进程读写同一个文件锁的问题及 flock 详解

php 多进程读写同一个文件锁的问题及 flock 详解
### 一、协同锁(advisory lock) 和 强制锁 (mandatory lock) 1、协同锁   协同锁要求参与操作的进程之间协同合作。假设进程“A”获得一个WRITE锁,并开始向文件中写入内容;此时,进程“B”并没有试图获取一个锁,它仍然可以打开文件并向文件中写入内容。在此过程中,进程“B”就是一个非合作进程。如果进程“B”试图获取一个锁,那么整个过程就是一个合作的过程,从而可以保证操作的“序列化”。   只有当参与操作的进程是协同合作的时候,协同锁才能发挥作用。协同锁有时也被称为“非强制”锁。 2、强制锁   强制锁不需要参与操作的进程之间保持协同合作。它利用内核来查检每个打开、读取、写入操作,从而保证在调用这些操作时不违反文件上的锁规则。

在 PHP 中使用 `yield` 来做内存优化

你有没有想过 "在 `PHP` 中使用 *yield* 会有什么益处",我将为你节省一些谷歌搜索的时间; 我列出了一些要向你介绍的要点来全面认知 *yield*: 1. 什么是 *yield*。 2. *yield* & *return* 的区别。 3. *yield* 有什么选项。 4. 结论。 5. 参考

php 生成唯一订单的 6 种方法

PHP生成唯一订单号其实是非常的简单了我们随便就可以整理多种生成方式了,这里小编整理了6种方式供各位参考。 做商城类项目经常需要生成唯一订单号,下面来个汇总!

源码安装 php7 + swoole

下面我们就来说一说 php7 源码安装的故事, 了解过后还是简单的 首先我们从 PHP 官网(php.net)下载最新的源码包 考虑到有些大佬懒得找我就直接给你把地址弄在下面了