自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(445)
  • 收藏
  • 关注

原创 PHP设计模式之组合模式(Composite) 代码实例大全(12)

目的一组对象与该对象的单个实例的处理方式一致。示例form类的实例包含多个子元素,而它也像单个子元素那样响应 render() 请求,当调用 render() 方法时,它会历遍所有的子元素,调用 render() 方法Zend_Config: 一个配置选项树,每个选项自身就是一个Zend_Config对象UML图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器..

2020-09-14 22:03:50 312

原创 PHP设计模式之桥梁模式(Bridge)代码实例大全(11)

目的解耦一个对象使抽象与实现分离,这样两者可以独立地变化。例子★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货代码Formatter.php<?phpnamespace Des

2020-09-14 21:48:07 367

原创 PHP设计模式之适配器模式(Adapter) 代码实例大全(10)

目的将某个类的接口转换成另一个接口以兼容,适配器使得原来因为接口不同而无法一起使用的类可以一起工作。适配器通过将原始接口进行转换,给用户提供一个兼容接口。例子客户端数据库适配器使用多个不同的网络服务和适配器来规范数据使得出结果是相同的UML 图★BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Dock

2020-09-14 20:39:30 284

原创 PHP设计模式之静态工厂模式(Static Factory)代码实例大全(九)

目的与抽象工厂模式类似,此模式用于创建一系列相关或相互依赖的对象。 『静态工厂模式』与『抽象工厂模式』的区别在于,只使用一个静态方法来创建所有类型对象, 此方法通常被命名为 factory 或 build 。例子Zend Framework:Zend_Cache_Backend或 _Frontend 使用工厂方法创建缓存后端或前端UML 图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高

2020-08-31 22:41:12 518 3

原创 PHP设计模式之单例模式(Singleton)代码实例大全(八)

单例模式被公认为是 反面模式 ,为了获得更好的可测试性和可维护性,请使用『依赖注入模式』。目的在应用程序调用的时候,只能获得一个对象实例。例子数据库连接日志 (多种不同用途的日志也可能会成为多例模式)在应用中锁定文件 (系统中只存在一个 ...)UML 类图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Red

2020-08-31 22:40:35 450

原创 PHP设计模式之简单工厂模式(Simple Factory)代码实例大全(七)

目的简单工厂模式是一个精简版的工厂模式。它与静态工厂模式最大的区别是它不是『静态』的。因为非静态,所以你可以拥有多个不同参数的工厂,你可以为其创建子类。甚至可以模拟(Mock)它,这对编写可测试的代码来讲至关重要。 这也是它比静态工厂模式受欢迎的原因!UML 图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swool

2020-08-31 16:40:33 465

原创 PHP设计模式之原型模式(Prototype) 代码实例大全(六)

目的相比正常创建一个对象 (new Foo () ),首先创建一个原型,然后克隆它会更节省开销。示例大数据量 (例如:通过 ORM 模型一次性往数据库插入 1,000,000 条数据) 。UML 图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本

2020-08-31 15:46:40 413

原创 PHP设计模式之对象池模式(Pool)代码实例大全(五)

目的对象池模式是一种提前准备了一组已经初始化了的对象『池』而不是按需创建或者销毁的创建型设计模式。对象池的客户端会向对象池中请求一个对象,然后使用这个返回的对象执行相关操作。当客户端使用完毕,它将把这个特定类型的工厂对象返回给对象池,而不是销毁掉这个对象。在初始化实例成本高,实例化率高,可用实例不足的情况下,对象池可以极大地提升性能。在创建对象(尤其是通过网络)时间花销不确定的情况下,通过对象池在可期时间内就可以获得所需的对象。无论如何,对象池模式在需要耗时创建对象方面,例如创建数据库连接,套接字连接

2020-08-31 15:32:16 483

原创 PHP设计模式之多例模式(Multiton)代码实例大全(四)

目的多例模式是指存在一个类有多个相同实例,而且该实例都是该类本身。这个类叫做多例类。 多例模式的特点是:多例类可以有多个实例。多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。多例模式实际上就是单例模式的推广。举例2 个数据库连接器,比如一个是 MySQL ,另一个是 SQLite多个记录器(一个用于记录调试消息,一个用于记录错误)UML 图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及

2020-08-29 22:42:51 536

原创 PHP设计模式之工厂方法模式(Factory Method) 代码实例大全(三)

目的对比简单工厂模式的优点是,您可以将其子类用不同的方法来创建一个对象。举一个简单的例子,这个抽象类可能只是一个接口。这种模式是「真正」的设计模式, 因为他实现了 S.O.L.I.D 原则中「D」的 「依赖倒置」。这意味着工厂方法模式取决于抽象类,而不是具体的类。 这是与简单工厂模式和静态工厂模式相比的优势。UML 图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能

2020-08-29 21:30:58 140

原创 PHP设计模式之建造者模式(Builder)代码实例大全(二)

目的建造者是创建一个复杂对象的一部分接口。有时候,如果建造者对他所创建的东西拥有较好的知识储备,这个接口就可能成为一个有默认方法的抽象类(又称为适配器)。如果对象有复杂的继承树,那么对于建造者来说,有一个复杂继承树也是符合逻辑的。注意:建造者通常有一个「流式接口」,例如 PHPUnit 模拟生成器。例子PHPUnit: 模拟生成器UML Diagram★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式

2020-08-29 17:27:39 484

原创 PHP设计模式之抽象工厂模式(Abstract Factory)代码实例大全(一)

目的在不指定具体类的情况下创建一系列相关或依赖对象。 通常创建的类都实现相同的接口。 抽象工厂的客户并不关心这些对象是如何创建的,它只是知道它们是如何一起运行的。UML 图★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx

2020-08-28 22:43:18 204

原创 PHP设计模式之工厂方法*解读

「PHP」工厂方法是针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。相比简单工厂 ,创建对象这件事不再交由一个类来创建:把简单工厂拆分,每个产品由专门的一个简单工厂来实现,每个简单工厂实现工厂接口类。这样实现在同一等级结构中,支持增加任意产品。工厂方法UML图:★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,

2020-08-21 22:59:23 439

原创 PHP设计模式之简单工厂模式*解读

「PHP」简单工厂PHP简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。也就是使用的时候通过传参来确定生成不同的对象。简单工厂:★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)以及不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知

2020-08-19 22:50:49 1106

原创 PHP设计模式|观察者模式(Observer)解析与应用

使用场景假设项目经理让我们写了一个登陆接口,咔咔擦擦写完了第二天让我们加入统计登陆次数,然后在后面加代码第三天让我们判断登陆地区,又在后面加代码第四天让我们在用户登陆后推送活动,再再后面加代码第N天,这个接口已经杂乱到没人想维护了我们需要让项目保持高内聚低耦合,就可以用到观察者模式(也不是非要,看需求)概念观察者,观察者,首先要有个被人观察的角色,这是唯一的,然后会有无数个观察者去看她,可以说是一群人在围观一个人,既然有无数个观众,那总得有个东西记录有哪些观察者,那就应该有一个类

2020-08-18 22:18:19 494

原创 PHP设计模式|观察者模式(Observer)解析与应用

使用场景假设项目经理让我们写了一个登陆接口,咔咔擦擦写完了第二天让我们加入统计登陆次数,然后在后面加代码第三天让我们判断登陆地区,又在后面加代码第四天让我们在用户登陆后推送活动,再再后面加代码第N天,这个接口已经杂乱到没人想维护了我们需要让项目保持高内聚低耦合,就可以用到观察者模式(也不是非要,看需求)概念观察者,观察者,首先要有个被人观察的角色,这是唯一的,然后会有无数个观察者去看她,可以说是一群人在围观一个人,既然有无数个观众,那总得有个东西记录有哪些观察者,那就应该有一个类

2020-08-18 22:06:48 233

原创 PHP的垃圾回收机制-PHP高级面试题+详解

面试10家公司,收获9个offer,2020年PHP 面试问题​zhuanlan.zhihu.comps:本篇内容包括精选面试题与知识篇。PHP面试题关于PHP的垃圾回收机制,PHP的垃圾回收机制引用计数 (reference counting) GC 机制,PHP可以自动进行内存管理,清除不需要的对象,PHP面试题分享PHP关于垃圾回收机制的面试题:★我的php学习交流社群——856460874。群内管理已准备好 整理好的BAT等一线大厂进阶知识体系备好(相关学习资料以及笔面试题)欢迎获取一起

2020-08-06 22:40:01 1001

原创 Redis实现延迟队列方法介绍

延迟队列,顾名思义它是一种带有延迟功能的消息队列。那么,是在什么场景下我才需要这样的队列呢?1. 背景我们先看看以下业务场景:当订单一直处于未支付状态时,如何及时的关闭订单 如何定期检查处于退款状态的订单是否已经退款成功 在订单长时间没有收到下游系统的状态通知的时候,如何实现阶梯式的同步订单状态的策略 在系统通知上游系统支付成功终态时,上游系统返回通知失败,如何进行异步通知实行分频率发送:15s 3m 10m 30m 30m 1h 2h 6h 15h1.1 解决方案最简单的方式,定时

2020-07-13 17:09:56 1023

原创 PHP的性能演进(从PHP5.0到PHP7.1的性能全评测)

本文是最初是来自国外的这篇:PHP Performance Evolution 2016, 感谢高可用架构公众号翻译成了中文版, 此处是转载的高可用架构翻译后的文章从PHP 5到PHP 7性能全评测(含未发布的JIT版PHP 8对比), 稍微调整了格式而成。导读:PHP 是 Web 开发最常用的语言,每个大版本的更新都带来不少新特性和性能提升。特别是 PHP 7.0 的发布,带来 PHP 性能飞跃。本文作者对各个 PHP 版本进行了 CPU 性能基准测试,并且带来了PHP下个大版本的消息。本文中文版由高

2020-07-11 16:09:57 684

原创 如何在 Laravel 中统计用户的最后在线时间

Laravel — 了解用户上次在线的时间本文是我在重构Pulse的代码库时记录下的见解,变更和反思系列文章的一部分。Pulse 是一个为开发人员设计的无痛且经济实惠的站点和服务器监控工具。今天,我将讨论我是如何添加中间件功能来记录用户上次在线 / 使用该应用程序的时间。我想将其添加到 Pulse 中,以解决一些我需要回答的分析性问题。准备数据库如果我们要记录用户上次的在线时间,则需要为此在 users 表中添加时间戳。这是一个简单的步骤,因此我们将从此开始。将以下内容插入到用户表迁移中..

2020-07-08 14:31:06 648

原创 了解Redis这个核心数据类型

string 字符串tring类型是二进制安全的,即string中可以包含任何数据。Redis 中的普通 string 采用 raw encoding 即原始编码方式,该编码方式会动态扩容,并通过提前预分配冗余空间,来减少内存频繁分配的开销。在字符串长度小于 1MB 时,按所需长度的 2 倍来分配,超过 1MB,则按照每次额外增加 1MB 的容量来预分配。Redis中的数字也存为 string 类型,但编码方式跟普通 string 不同,数字采用整型编码,字符串内容直接设为整数值的二...

2020-07-04 15:48:23 428

原创 RabbitMQ的应用场景以及基本原理介绍

RabbitMQ 是一个由 erlang 开发的 AMQP(Advanced Message Queuing Protocol)的开源实现。AMQP:高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。 RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.

2020-07-03 14:15:55 558

原创 Swoole 中 TCP、UDP 和长连接、短连接

TCP 服务swoole 文档 - TCP 服务tcp 服务端<?php// 1. 创建 swoole 默认创建的是一个同步的阻塞tcp服务$host = "0.0.0.0"; // 0.0.0.0 代表接听所有// 默认是tcp$serv = new Swoole\Server($host, 9000);// 添加配置$serv->set([ 'heartbeat_idle_time' => 10, 'heartbeat_check_interval'

2020-07-02 14:32:43 793

原创 看完这篇Redis缓存三大问题,保你面试能造火箭,工作能拧螺丝。

前言日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题。我的官方群点击此处。一旦涉及大数据量的需求,如一些商品抢购的情景,或者主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度问题有严重的性能弊端,详细的磁盘读写原理请参考这一片在这一瞬间成千上万的请求到来,需要系统在极短的时间内完成成千上万次的读/写操作,这个时候往往不是数据库能够承受的,极其容易造成数据库系统瘫痪,最终导致服务宕机

2020-07-01 16:59:50 310

原创 Swoole 中涉及的一些基本概念

IO(Input/Output,输入输出)在计算机中,输入 / 输出(即 IO)是指信息处理系统(比如计算机)和外部世界(可以是人或其他信息处理系统)的通信。输入是指系统接收的信号或数据,输出是指从系统发出的数据或信号。由于程序和运行时数据是在内存中驻留,由 CPU 这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就会有 IO 产生。同步 - 异步同步和异步是一种消息通信机制 (synchronous communication/asynchronous communicat

2020-06-30 20:50:27 134 1

原创 PHP8 新特征

联合类型(Union Types)可以声明变量可能的类型,语法糖 = 鸡肋,旧版本不声明就是。class Number { private int|float $number; public function setNumber(int|float $number): void { $this->number = $number; } public function getNumber(): int|float { retu

2020-06-29 15:45:47 317

原创 延时 (迟) 操作的 PHP 简单实现

场景在业务中有时会碰到延迟操作,如下单后半小时未支付则取消订单、下单后十五分钟未支付则发短信提醒等等。那这样的需求如何去实现呢。实现方式第一个简单的方式就是用一个后台进程死循环去查订单,根据下单时间去做不同的操作 第二种就是使用消息队列的定时消息,下单之后发送定时消息,不同的定时队列去处理不同的逻辑 第三种可以使用框架提供的一些既有功能去做实现代码我们以订单创建 15 分钟后未支付,给用户发送邮件为场景进行学习准备工作:简单的订单表:order 各种需要的 composer

2020-06-28 16:16:29 1603

原创 这些Composer命令,你肯定用到着!

selfupdate更新 composer 本身,请经常执行 composer selfupdate 以保持 Composer 一直是最新版本。<span style="font-size: 16px;">composer selfupdate<br></span>等价于<span style="font-size: 16px;">composer self-update<br></span>dumpautolo

2020-06-27 15:53:39 224

原创 phpstorm 使用 Xdebug 调试代码

用过 Java、C# 等静态语言的同学调试代码经常是打个断点,然后轻松调试,而 PHPer 调试代码时经常是echo $a;exit;非常的不方便,有的同学有时候打完断点没删就给 commit 上去了,这就造成了很多困扰,有没有办法更优雅的调试呢?那当然有的,这里用到一个 PHP 模块 xdebug,xdebug 安装教程,使用它进行 HP 代码调试,能有效减少工作量和 BUG 调试时间,特别是在某些复杂的程序中,光靠看都无法找出问题Xdebug 是一个开放源代码的 PHP 程序调试器 (即一

2020-06-23 16:47:06 603

原创 教你利用组件开发与composer构建类Laravel框架

如今“敏捷开发”“不要重复造轮子”思想已经在软件开发方面盛行了。项目中以框架作为基础进行二次开发已经成为了首选方案。Laravel是一款优秀的PHP框架,在众多框架之中保持着一种领跑的姿态。Laravel比较突出的优点是组件式开发、Ioc容器、分布式运用架构设计。而说到PHP组件开发就不得不提到composer,composer是专门为PHP而生的,是PHP组件的管理工具。Laravel框架就是采用组件式开发的典范,稍后我将演示如何利用composer组件管理工具手动构建laravel主要功能,包括路由功能

2020-06-20 19:39:58 522 1

原创 PHP-面试总结——高并发篇

1、什么是rabbitmq采用AMQP高级消息队列协议的一种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦2、为什么要使用rabbitmq1. 在分布式系统下具备异步,削峰,负载均衡等一系列高级功能;2. 拥有持久化的机制,进程消息,队列中的信息也可以保存下来。3. 实现消费者和生产者之间的解耦。4. 对于高并发场景下,利用消息队列可以使得同步访问变为串行访问达到一定量的限流,利于数据库的操作。可以使用消息队列达到异步下单的效果,排队中,后台进行

2020-06-19 19:46:36 783

原创 Docker 搭建多容器组合服务 (nginx + PHP)

Docker 搭建多容器组合服务 (nginx + php) 首先要确保本地 docker 环境已经安装成功 Docker 安装 Nginx docker pull nginx (拉取最新 nginx 镜像) docker images (查看本地 nginx 镜像是否安装成功) Docker 安装 PHP docker pull php:7.4-fpm (拉取指定版本的 php ) docker images (...

2020-06-18 22:07:07 716

原创 Swoole HTTP的应用

概述我们都知道HTTP是一种协议,允许WEB服务器和浏览器通过互联网进行发送和接受数据。想对HTTP进行详细的了解,可以找下其他文章,这篇文章不多做介绍。我们在网上能看到的界面,图片,动画,音频,视频等,都有依赖这个协议的。在做WEB系统的时候,都使用过IIS,Apache,Nginx吧,我们利用Swoole也可以简单的实现一个WEB服务器。主要使用了HTTP的两个大对象:Request请求对象,Response响应对象。请求,包括GET,POST,COOK

2020-06-17 14:51:29 974

原创 docker 灵活的构建 PHP 环境

使用docker搭建灵活的线上php环境 有时候你可能不太需要一些别人已经集成了的包或者镜像 我们就可以使用以下方式自己动手逐一构建自己所需要的环境结构 并在最后实现一键自动化部署 一步一步点亮docker技能树 ## . ## ## ## == ## ## ## ## ## === /""""""""""""""""".__/ === ~~~ {~~ ~~~.

2020-06-16 15:50:56 463

原创 详解 Laravel 中的依赖注入和 IoC

作为开发者,我们一直在尝试通过使用设计模式和尝试新的健壮型框架来寻找新的方式来编写设计良好且健壮的代码。在本篇文章中,我们将通过 Laravel 的 IoC 组件探索依赖注入设计模式,并了解它如何改进我们的设计。依赖注入依赖注入一词是由 Martin Fowler 提出的术语,它是将组件注入到应用程序中的一种行为。就像 Ward Cunningham 说的:依赖注入是敏捷架构中关键元素。让我们看一个例子:让我们看一个例子:class UserProvider{ pro..

2020-06-15 17:17:29 507

原创 在 Laravel 中使用 Tailwind CSS

Tailwind Tailwind 是新的 CSS 实用程序框架,它很快成为我最喜欢的构建界面的方法。通常,尝试一个新的框架、包或语言的最困难的部分是建立起来。建造 Tailwind 的人做了一项令人难以置信的工作,记录了这个过程,而且非常容易做到。但是,有时还是很高兴看到别人是怎么做到的。所以,让我们跳进去看看是怎么做到的。入门首先,假设我们开始一个新的 Laravel 项目。 我不会去介绍咋么设置它,你可以参考文档 点击这里。完成 Laravel 的所有设置之后,让我们看 Tailwind

2020-06-13 21:53:53 1330

原创 帮助 phper 理解 RPC 是怎么回事儿

1. 什么是 rpcRPC 全称为 Remote Procedure Call,翻译过来为 “远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样。2. 从通信协议的层面基于 HTTP 协议的(例如基于文本的 SOAP(XML)、Rest(JSON),基于二进制 Hessian(Binary))基于 TCP 协议的(通常会借助 Mina、Netty 等高性能网络框架).

2020-06-12 16:21:39 333

原创 Laravel 7 教程:使用 Passport 来构建 API 授权(大量代码)

今天我们要进行 Laravel Api 认证 请按照以下步骤进行应用程序身份验证和授权第一步执行以下命令:composer require laravel/passportphp artisan migratephp artisan passport:install第二部修改 config/auth.php 文件中的 Gurds:... 'guards' => [ 'web' => [ 'driver' =&g.

2020-06-10 19:42:20 990

原创 Laravel如何使用ApiToken认证请求

1.打开 database/migrations/2014_10_12_000000_create_users_table.php 这个 migration 文件, 我们需要更改 user 表的结构2.我们需要为 user 表添加 api_token 字段, 也就是说我们的 token 是保存在数据库中的, 在合适的位置, 添加一行$table->string('api_token', 60)->unique();3.配置好数据库, 通过 php artisan migrate 命

2020-06-09 14:10:02 1485

原创 PHP7 内核之 FAST_ZPP 详解

从PHP7开始,大家可能会发现,不少函数不再使用传统的参数处理方式,而是改用了我们称之为Fast zend parameters parsing(FAST_ZPP)的新型方式, 比如在PHP7之前,count函数是这样的:PHP_FUNCTION(count) { zval *array; long mode = COUNT_NORMAL; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|l", &array, ..

2020-06-08 15:19:59 326

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除