Mac系统下安装Swoole

Swoole是什么?Swoole是一个为PHP用C和C++编写的基于事件的高性能异步&协程并行网络通信引擎 ✨事件驱动Swoole中的网络请求处理是基于事件的,并且充分利用了底层的epoll / kqueue实现,使得为数百万个请求提供服务变得非常容易。Swoole4使用全新的协程内核引擎,现在它拥有一个全职的开发团队,因此我们正在进入PHP历史上前所未有的时期,为性能的高速提升提供了独一无二的可能性。Swoole中的时间函数实现为一个闭包,如:```php//
阅读全文

PHP中IOC详解

  • Deer
  • 2019-12-04 22:20:28
  • php
  • php
原生PHP实现ioc容器```php<?php/ 服务中的属性 /class GoodsInfo{ private $goods; public function __construct(goods_data $goods_namex) { $thisgoods = $goods_namex; } public function price(){ return $thisgoodsn
阅读全文

Laravel6.0框架结构分析

  • Deer
  • 2019-12-01 23:37:01
  • php
  • php
Laravel为什么受欢迎?Laravel有很多受欢迎的地方,其中大家说的最多的是Laravel优雅,在我看来Laravel的语法确实很优雅,但是我认为受欢迎不仅仅是因为优雅,还因为Laravel是一个服务组件化的框架。 开发模式说到服务组件化设计我们就需要说一下开发模式的进化。 混编模式前后端代码分离MVCMVCS服务组件化设计1、混编模式:PHP早期开发会把HTML和PHP都写在一个PHP脚本中来运行,这个阶段称之为混编。缺点:代码混乱,不易于管理。2、前后端代码分离:由
阅读全文

Mac 使用brew安装composer,报错:curl: (56) LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54

今天在使用brew安装composer的时候遇到一个错误,如下今天在使用brew安装composer的时候遇到一个错误,如下: 产生问题的原因:因为home brew的源是国外的,下载的时候有可能因为网络原因导致错误。 解决方式:需要切换home brew的源,可以选择中科大源,也可以使用清华源,我使用的是中科大的,代码如下:```shell// 执行下面这句命令,更换为中科院的镜像:git clone git://mirrors.ustc.edu.cn/home
阅读全文

深入解析 composer 的自动加载原理

  • Deer
  • 2019-11-14 15:18:28
  • php
  • php
<div class="article fmt article__content" dataid="1190000014948542" datalicense="cc" <h1 id="articleHeader0"深入解析 composer 的自动加载原理</h1<h1 id="articleHeader1"前言</h1<pPHP 自5.3的版本之后,已经重焕新生,命名空间、性状(trait)、闭包、接口、PSR 规范、以及 composer 的出现
阅读全文

理解Redis的Expire Key(过期键)

理解Redis的Expire Key(过期键) 数据结构 typedef struct redisDb { dict dict; / 键空间 key space / dict expires; / 过期字典 / dict blocking_keys; / Keys with clients waiting for data (BLPOP) / dict ready_keys; / Blocked keys that recei
阅读全文

linux修改php-fpm和nginx运行用户

(php)项目a是用test用户运行nginx和phpfpm是wwwdata用户运行(python)项目b是用test用户运行项目a通过php函数exec调用python脚本的接口造成了没有权限访问目录直接把项目b的权限切换为wwwdata可以执行,但是不便于开发,最好是把php、nginx、项目a、项目b都在一个用户、组下面。打个比方test是当前登录用户修改nginx的运行角色```shellcd /etc/nginxsudo vi nginx.conf
阅读全文

PHP Session原理分析及使用

  • Deer
  • 2019-09-19 17:49:25
  • php
  • php
之前在一个叫魔法实验室的博客中看过一篇《php session原理彻底分析》的文章,作者从session的使用角度很好阐述了在代码运行过程中,每个环节的变化以及相关参数的设置及作用。本来想把原文转帖过来,但是原博客被关闭了。不知是这次大范围的重新备案,还是其他什么原因所致。通过百度快照找到一些原文资料,没找到的将按之前的理解重新整理,以使大家对session能有更多了解。楔子:Session大白话Session,英文翻译为“会话”,两个人聊天,从第一句问好,到最后一句再见,这就构成了一个会
阅读全文

解决vue-resource跨域

vueresource携带cookie需要添加参数:```javascriptVue.http.interceptors.push((request, next) = { request.credentials = true; next();});```加上以后会出现CORS跨域问题:CORS 是一个 W3C标准,该标准定义了在访问跨域资源时,服务端和客户端需要如何沟通,如何授权信任。CORS的原理是:使用 http自定义头部 ,请求头附带客户端信息,服务端验证
阅读全文

Mac下Postman+phpStorm配合xdebug进行调试

Xdebug是PHP的扩展,用于协助调试和开发。它包含一个用于IDE 的单步调试器 ; 它升级了PHP的var_dump()函数; 它为通知,警告,错误和例外添加了堆栈跟踪 ; 它具有记录每个函数调用和磁盘变量赋值的功能 ; 它包含一个分析器 ; 它提供了与PHPUnit一起使用的代码覆盖功能。
阅读全文