分类: PHP

56 篇文章

利用 JSON-RPC 返回 PHP 对象
在[微服务]中JSON-RPC服务,这章中碰到了无法返回返回[PHP对象]的问题。 首先把场景复现下1.服务在没有使用[PHP对象]时是正常的。2.服务提供者的定义<?php namespace App\JsonRpc; use Hyperf\RpcServer\Annotation\RpcS…
Laravel生命周期
说到Laravel的生命周期,我们首先要知道laravel有两种模式,一种是HTTP请求,一种是命令行。它们有不同的入口和内核。我们这里以HTTP请求模式来解析laravel的生命周期。 第一步 Laravel 应用的所有请求入口都是 public/index.php 文件。打开 index.php…
中间件代码实现
<?php /** * User: Jobs Lin * Date: 2019/12/14 * Time: 19:52 */ interface Milldeware { public static function handle(Closure $next); } class VerfiyC…
IoC容器与Facades外观模式代码实现
<?php /** * User: Jobs Lin * Date: 2019/12/11 * Time: 15:34 */ interface Log { public function write(); } // 文件记录日志 class FileLog implements Log { …
如何在外部改变类的私有属性
使用闭包就可以实现了<?php class Books{ public $count = 1; private $sum = 2; } function getInitializer(Books $books) { return \Closure::bind(function () use (…
解析spl_autoload_register()函数
最近在研究Composer的自动加载时,发现spl_autoload_register()这个函数非常重要,总结下。 spl_autoload_register() 的作用是 注册给定的函数作为 __autoload 的实现 spl_autoload_register()函数是实现自动加载未定义类功…
PSR-1 基础编码规范
PHP 标签PHP 代码 必须 使用 <?php ?> 长标签 或 <?= ?> 短输出标签;一定不可 使用其它自定义标签。字符集编码PHP 代码 必须 且只可使用 不带 BOM 的 UTF-8 编码。副作用总结下这个就是文件中定义了类和方法就不要再在业务逻辑了。。。命名空间…
laravel队列使用指南
最近公司的一部分业务需要解耦,上消息队列。 原本打算使用 RabbitMQ ,不过啃了一段时间,太难了。。。 先使用laravel自带的消息队列来实现吧。 准备 laravel的队列驱动器有好多种,比如 "sync", "database", "be…
PSR 简介
PHP FIGPSR (PHP Standard Recommendations) 是由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准。PHP FIG , FIG ( Framework Interoperability Group ) 框架可互用性小组的缩写。PSR 的目的…
phpredis 和 predis
phpredis 是使用 c 写的 php 扩展,predis 是使用纯 php 写的。 在性能上的区别当然是扩展更好一些,但其实这两个实现还有更大的区别,就是连接的保持。 phpredis 在扩展中使用 c 可以保持 php-fpm 到 redis 的长连接,所以一个 php-fpm 进程上的多个…