文章来自:PHP自学中心学习与交流:PHP技术微信群什么是RPC?RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样。从通信协议的层面基于HTTP协议的(例如基于文本的SOAP( ......
390
0
0
2022-08-15
其实这个东西不复杂,只是没有见过,所以记录下;主要是实现后台对 api 请求日志的查看,使用了 mongo 数据库来操作;并不复杂,只是之前没有接触过,有什么不足和意见欢迎指出。配置连接参考: www.mayanpeng.cn/archives/64.html$conn = new MongoClient('mongodb://localhost:27017 ......
370
0
0
2022-08-14
开发过程中,我们经常会与接口打交道,有的时候是调取别人网站的接口,有的时候是为他人提供自己网站的接口,但是在这调取的过程中都离不开签名验证。我们在设计签名验证的时候,请注意要满足以下几点:可变性:每次的签名必须是不一样的。时效性:每次请求的时效,过期作废等。唯一性:每次的签名是唯一的。完整性:能够对传入数据进行验证,防止篡改。这里介绍一种方式,是目前国内互联 ......
402
0
0
2022-08-12
PHP 现在名声很糟糕,因为它曾经是“可怕”的。本文试着回答一些常见的关于 PHP 的断言,目的是向非技术人员解释,PHP 并不像许多人所说的那么糟糕。1、它是不是鼓励糟糕的实践?不再是了。过去,许多开发者被书本教授非常糟糕的实践,因此 PHP 代码的质量非常差。PHP 曾经还允许你做一些非常奇怪的事情,使得它非常容易构建,但维护起来却是一场噩梦。这些不再是 ......
346
0
0
2022-08-10
服务端<?php $server = new Swoole\WebSocket\Server("0.0.0.0", 9501); $server->on('open', function (Swoole\WebSocket\Server $server, $request) { echo "server: handshake suc ......
489
0
0
2022-08-09
边缘缓存模式 - Cache-Aside Pattern描述 从存储器中需要的数据加载到缓存。背景和问题 应用程序使用缓存能优化重复访问存储器数据的问题。但是缓存和存储器的数据可能不一致。解决方案读缓存 先读cache,再读db。 1. 如果cache里有数据,直接返回数据。 2. 如果cache里没有数据,那么访问db,并且把数据写到缓存中。更新 ......
476
0
0
2022-08-08
组合实体模式 - Composite Entity Pattern说明 组合实体模式用在持久化机制中。当更新一个组合实体时,内部依赖对象也会自动更新。理解 各个细颗粒对象组合成一个粗颗粒对象,细颗粒对象和粗颗粒对象又可以组合成组合实体。 组合实体的内部状态变化也会引起各个颗粒的状态变化。 通常使用在对象持久化中。结构中包含的角色组合实体(Compos ......
435
0
0
2022-08-08
业务代表模式 - Business Delegate Pattern解释在表示层和业务层之间添加了一个抽象层。用于解耦表示层和业务层。结构中包含的角色客户端(Client) - 表示层代码。在MVC里面就是V层。业务代表类(BusinessDelegate)抽象业务服务(BusinessService)具体业务服务(ConcreteBusinessServi ......
392
0
0
2022-08-08
数据访问对象模式 - Data Access Object Pattern定义对数据源的访问与存储进行封装,提供一个数据访问对象类负责对存储的数据进行管理和操作,规范数据存储格式。 数据访问对象模式,简称DAO模式。结构中包含的角色数据访问对象接口(Data Access Object Interface) ModelDAO 抽象操作数据库的方法数据访问对 ......
439
0
0
2022-08-08
前端控制器模式 - Front Controller Pattern定义提供一个集中的请求处理机制,所有的请求都将由一个单一的处理程序处理。结构中包含的角色前端控制器(Front Controller)调度器(Dispatcher)视图(View)最小可表达代码class View { public function show($request ......
417
0
0
2022-08-08
拦截过滤器模式 Intercepting Filter Pattern说明拦截过滤器模式,简称拦截器模式,是责任链模式的一种衍生模式。用于对应用程序的请求或响应做一些预处理/后处理。结构中包含的角色Filter(抽象处理者)RegularFilter(具体处理者)FilterChain(责任链)FilterManager(链条管理者)最小可表达代码inter ......
411
0
0
2022-08-08
MVC模式 - Model-View-Controller定义MVC模式是指 Model-View-Controller(模型-视图-控制器)模式。结构中包含的角色Model(模型)View(视图)Controller(控制器)最小可表达代码class Model { private $name; public function ......
372
0
0
2022-08-08
依赖注入 - Dependence Inversion - DI定义依赖注入是指不是由内部生产(初始化、构造函数 __construct 中通过工厂方法、自行手动 new 的),而是由外部以参数或其他形式注入的。解释简单来说就是把依赖对象的实例化过程交给第三方(IOC容器)来实现。控制 : 依赖对象实例化的控制。正向 : 我们在对象中主动获取依赖对象。反向 ......
472
0
0
2022-08-07
模块开发模块开发介绍在开发模块之前,请在模块市场自行安装《开发示例程序》,该示例中涵盖了几乎所有模块开发规范和技巧。开发示例程序: modstart.com/m/Demo开发示例程序会不断更新,请随时查看最新的开发示例程序。模块开发入门第一步,下载模块开发助手模块开发助手可以极大效率的提高模块开发效率,通过 modstart.com/m/ModuleDeve ......
528
0
0
2022-08-07
传输对象模式 - Transfer Object Pattern设计的原则和思想在传输对象中填充数据,然后把对象序列化后传输到其他应用。结构中包含的角色业务对象(Business Object)传输对象(Transfer Object)最小可表达代码class Business { private $name; public fun ......
426
0
0
2022-08-07