年度归档: 2019 年

56 篇文章

RPC(远程过程调用协议)简介
进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法。进程是计算机系统分配资源的最小单位。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。这些进程可以运…
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 { …
composer深入理解(3)
如果我们在代码中写下 new phpDocumentor\Reflection\Element(),PHP 会通过 SPL_autoload_register 调用 loadClass -> findFile -> findFileWithExtension。步骤如下: 将 \ 转为文件…
composer深入理解(2)
很多框架在初始化的时候都会引入 composer 来协助自动加载的,以 Laravel 为例,它入口文件 index.php 第一句就是利用 composer 来实现自动加载功能。 启动 <?php define('LARAVEL_START', microtime(tru…
如何在外部改变类的私有属性
使用闭包就可以实现了<?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()函数是实现自动加载未定义类功…
composer深入理解(1)
以前写过一遍关于composer入门的文章。但是它已经不能满足广大P友们对知识的渴求啦。 咱们就在这里对composer更深入的了解下(๑¯ ³ ¯๑)。 前言 PHP 自5.3的版本之后,已经重焕新生,命名空间、性状(trait)、闭包、接口、PSR 规范、以及 composer 的出现已经让 P…
PSR-1 基础编码规范
PHP 标签PHP 代码 必须 使用 <?php ?> 长标签 或 <?= ?> 短输出标签;一定不可 使用其它自定义标签。字符集编码PHP 代码 必须 且只可使用 不带 BOM 的 UTF-8 编码。副作用总结下这个就是文件中定义了类和方法就不要再在业务逻辑了。。。命名空间…