自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

March

尊重、进步、意义 * GPG: F6F1BF7F72991603

  • 博客(122)
  • 资源 (8)

原创 新博客 marchccc.top

新博客 marchccc.top

2020-03-04 14:20:33 89

原创 laravel 提示 PHP Fatal error: Uncaught ReflectionException: Class config does not exist *** 怎么解决

删除vendor,重新安装依赖。

2020-09-05 21:25:57 144

原创 误删mysql一条数据后的恢复

1.在mysql命令行执行 show variables like ‘log_bin’;如果为ON则表示开启了log。2.show master logs;找到最新的log文件并download下来。3./usr/local/mysql/bin/mysqlbinlog --no-defaults ~/Downloads/mysql-bin.000017 -v>~/Downloads/...

2020-02-12 15:48:48 1027

原创 Mac下使用crontab来实现定时任务

crontab服务的重启关闭,开启sudo /usr/sbin/cron startsudo /usr/sbin/cron restartsudo /usr/sbin/cron stop进入crontab编辑界面crontab -e查看当前定时任务crontab -l添加一条定时任务,例如:* * * * * /usr/local/php72/bin/php /Users/ju...

2020-02-08 14:24:22 86

转载 maatwebsite/excel 3.0版本使用方法

https://www.cnblogs.com/niuben/p/11458450.html

2020-02-04 18:20:35 994

原创 Swoole使用场景及代码实现

Swoole使用场景及代码实现可用于对laravel项目速度优化借助swoole的异步,无阻塞快速消费MQ可用于对laravel项目速度优化基于swoole的特性,有一些作者就开发组件试图将swoole的特性和laravel结合,以提升laravel项目的访问速度和承载能力。首先看一下原生laravel的压力测试情况:下载了一个5.8版本的laravel框架,在Test控制器的index方...

2019-12-12 00:30:45 1011

原创 记录macOS编译安装PHP7.2.25

wget https://www.php.net/distributions/php-7.2.25.tar.gztar -zxvf php-7.2.25.tar.gzcd php-7.2.25./configure --prefix=/usr/local/php72 --with-config-file-path=/usr/local/php72/config --enable-inline...

2019-12-11 23:13:46 304

原创 PHP面试技术点准备

PHP常用设计模式和算法设计模式:工厂模式,单例模式,依赖注入模式,门面模式算法:冒泡排序,快速排序,插入排序深入理解代码健壮性,可读性,扩展性,熟悉代码规范。代码健壮性,可读性,扩展性,可以根据实际情况使用事件驱动、依赖注入等设计模式,对架构和业务逻辑进行解耦。使用面向接口编程的方式增加可扩展性。代码风格和注释明确可以保证代码可读性。代码规范遵循PSR组织指定的规范,包括但不限...

2019-12-11 18:52:06 67

原创 easywechat源码学习

easywechat源码学习目的代码结构FactoryApplication服务提供者利用魔术方法重载ArrayAccess异常更多目的意在通过阅读好的代码,学习其中的设计思想、对设计模式的运用,来提示自我代码水平的目的。代码版本:https://github.com/overtrue/wechat/archive/4.2.8.zip代码结构├── Factory.php // 库入口,...

2019-11-10 18:00:54 390

原创 使用GPG验证文件签名

使用GPG验证文件签名安装生成自己的公钥和私钥常用命令测试签名验证nginx安装包签名验证PHP安装包签名安装wget https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.17.tar.bz2tar -xjf gnupg-2.2.17.tar.bz2cd gnupg-2.2.17./configuremakesudo make insta...

2019-11-08 21:34:16 502

原创 socket学习

socket是什么可以理解为,socket是TCP、UDP这种传输层暴露出来的API。socket一旦建立,除非有一方主动断开,否则就是一直保持连接,服务端可以实时获取客户端的信息,客户端也可以实时获取服务端信息。适合聊天室、推送、等需要长链接的场景。然后下边使用PHP语言,写一个socket使用的例子,如果项目开发中为了更高效还是要找composer包。参考PHP的socket 函数相...

2019-11-08 15:09:10 38

原创 做一些PHP机试题

注:题目来自网络第一道将第三方api的前3条数据全部读取出来,存入对应的数据库字段api URL:http://pub.cloudmob.mobi/publisherapi/offers/?uid=92&key=d4bab08884781dbf2bede528e27d243d&limit=1&page=1$curl = curl_init();$api = 'ht...

2019-11-05 18:07:01 760

原创 mysql先排序后group by

取出所有最近发生的事件,相同的事件只取最新的一条。也就是说,这里面name为a的这条数据,要取最后一条的a,因为最后一条的a的time距离当前最近。mysql语句:SELECT * FROM `event` as aWHERE time = ( SELECT max(time) FROM event as b WHERE b.`name` = a.`name` GR...

2019-11-05 16:17:27 502

转载 转自风雪之隅的文章-print不是函数

这个源自于一个看似很诡异的问题:if (print("1\n") && print("2\n") && print("3\n") && print("4\n")) { ;}你期待这段代码输出什么呢?实际上的输出是:4111很多时候我们会忽略了print是一个语法结构(language constructs), 他并不是一个函...

2019-11-05 00:23:39 41

原创 打印字符的所有排列

code:function test($arr, $str = ''){ $len = count($arr); if($len == 1){ echo $str . $arr[0] . PHP_EOL; return; } for ($i = 0; $i < count($arr); $i++) { $tmp ...

2019-11-04 22:41:51 57

原创 冒泡排序、快速排序、插入排序学习

冒泡排序<?php// 冒泡排序,将数组内每个元素和所有元素对比,如果顺序错误就交换,最终排列好所有元素。function bubble($array) { $len = count($array); for ($i=0; $i < $len; $i++) { for ($j=$i+1; $j < $len; $j++) { if ($array[$i...

2019-11-01 16:52:10 37

原创 单例模式

单例模式原则:构造函数私有,不允许外部类实例化它、不允许克隆类自己创建唯一的实例,并保存到全局属性当中提供公共的静态方法获取这个唯一的实例当某种类没必要重复实例化时,可以使用单例模式,节省内存消耗。比如像获取全局配置文件相关的类。比如laravel的ioc容器支持单例模式,底层绑定的很多服务提供者都是以单例模式绑定的。单例模式例子:<?php class Single{...

2019-10-27 23:24:26 39

原创 魔术方法callStatic应用场景:后期静态绑定、链式调用

魔术方法是PHP的重载机制,当调用类中不存在或不可访问的静态方法是,将调用类中的__callStatic方法。基于这种重载机制,就有很多使用技巧可以利用,下边举了两个例子。后期静态绑定laravel eloquent orm的model抽象类中也有后期静态绑定的使用,最常用的比如$table变量。当然不局限于orm,很多其他组件当中也有使用,开发架构中也可以使用。abstract cla...

2019-10-26 22:18:32 99

原创 对ioc服务容器和事件的总结

ioc服务容器就是解决组件之间依赖的一种方式,核心利用了PHP的依赖注入和反射API。用之前把要用的类或组件或服务注册进容器中,真正用的时候从容器中make出来就可以直接用,开发过程中不用关心服务之间的依赖。事件就是在主业务中触发一个事件,监听器执行事件的处理,可以让主业务更加简洁易于维护,将附属功能抽离出来了,实现了业务的解耦。举个例子,比如用户注册时,会涉及到发邮件、或者有第三方系统要同...

2019-10-25 16:44:47 69

原创 php container demo

一个简单的容器实现,用于促进理解laravel的container。服务容器的目的是解决组件之间的依赖关系,降低耦合。在系统运行过程中动态地为系统提供各种服务。<?php/** * 一个容器类 */class Container{ protected $bindings = []; // 绑定接口和生成实例的回调函数 /** * 向容器中添加一个绑定 * a...

2019-10-18 23:10:55 92

原创 对Laravel身份认证的分析

功能初始化路由分析中间件底层运作分析auth中间件执行流程分析登录流程分析(待办)总结功能初始化php artisan make:auth 使用laravel提供的命令行功能,创建路由、控制器、视图。路由:Auth::routes();Route::get('/home', 'HomeController@index')->name('home');HomeControll...

2019-10-15 18:12:14 132

原创 laravel framework目录结构

说明组件Illuminate\ContractsIlluminate\FoundationIlluminate\Support说明这篇文章是我梳理的laravel framework 5.8版本的目录结构说明,有助于理解laravel。源代码:https://github.com/laravel/framework/tree/5.8API:https://laravel.com/api/...

2019-10-14 22:14:04 318

转载 CSRF攻击原理及预防手段(转)

转自:https://segmentfault.com/a/1190000007932293CSRF攻击原理及预防手段(转)攻击过程演示预防referer 验证token 验证CSRF全程 Cross Site Request Forgery, 跨站域请求伪造.这种攻击方式相对于XSS,SQL注入等攻击方式比较晚被发现,今天就来讲解下这种攻击方式以及避免方式.攻击过程假设abc用户登录...

2019-10-14 00:53:28 140

原创 array_reduce

这个函数在中间件的设计上会用到,这里记录一下该函数的使用方式。array_reduce【array_[rɪˈduːs]】说明:array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] ) : mixedarray_reduce() 将回调函数 callback 迭代地作用到 array 数组中的...

2019-10-13 23:41:46 47

原创 PHP中常用的十个数组函数

PHP中常用的十个数组函数in_arrayarray_searcharray_key_existsarray_valuesarray_filterarray_columnarray_mergearray_poplistksortin_array【in_əˈrā】检查数组中是否存在某个值<?php@see https://www.php.net/manual/zh/function...

2019-10-11 23:26:57 141

原创 PHP中常用的十个字符串函数

PHP中常用的十个字符串函数explodeimplodetrimstr_replacestrlenstrip_tagsaddslashesstrrevurlencodestrposexplode【ikˈsplōd】使用字符串做为另一个字符串的分隔符,返回包含分割结果的数组。<?php@see https://www.php.net/manual/zh/function.explo...

2019-10-11 18:47:01 189

原创 明确自我航向的梳理

人生价值观星星没有月亮耀眼,却把夜空点缀的美丽诱人。勇于承担、敢于追求、有理想,有道德,做一个 对社会有用的人。长期目标“人生就像射箭,梦想就像箭靶子,如果连箭靶子也找不到的话,你每天拉弓有什么意义?”一年计划:对laravel极为熟悉,对PHP极为熟悉,成为一个合格的技术人。两年计划:成为一个独挡一面的技术主管。短期目标学习PHP数组和字符串相关函数。分析larav...

2019-10-11 16:34:53 63

原创 laravel广播

laravel广播概述初始化配置公共频道例子私有频道例子概述在laravel中优雅地使用长链接的方式。服务端只需要广播一个事件,客户端就可以收到该事件的广播。总体就是:服务端事件->socket->浏览器。其中服务端就用laravel的event事件和广播相关功能完成。其中socket部分由依赖包laravel-echo-server服务完成。其中浏览器也就是前端,由依赖...

2019-10-09 00:08:37 62

原创 Laravel event

介绍触发和监听事件的一个工具。当主业务中需要做一些其他附属操作时,附属操作的代码在监听器中实现。event(事件) listener(监听)比如,在controller中写event(xxx),表示这里发生了一件这个事儿。监听器Listener就监听到了这个事儿,然后就根据监听器中写好的代码去处理该事件。这样做的好处就是解耦了,业务代码中只需要关心主线逻辑,附加的一些需要处理的东西在...

2019-10-06 23:42:14 97

原创 Laravel pipeline

Laravel pipeline介绍使用示例介绍就像其名称管道一样,我们可以把它想象成工厂的生产线。生产线上的每一个环节就是一个管道,而每一个商品就是管道中传递的值。按照环节顺序对商品进行检测,当有一个环节检测不达标,则后续环节不会执行。不达标的商品可能会放到一个回收环节,进行后续处理。而在laravel中,中间件就扮演着管道中的一个个节点,对管道中的资源(HTTP请求)进行检测,来决...

2019-10-06 02:18:50 69

原创 Laravel facade

Laravel facade概述框架中的例子定义自己的facade参考链接概述在laravel中,facade作为容器中类的静态代理,它可以让你以静态的方式调用容器中的任何对象的任何方法。实现了对类的快捷访问的一种方式。框架中的例子比如最常用的写log,facade用法\Log::info('xxx');从容器中取出使用的用法:app('log')->info('xxx');...

2019-10-05 00:55:07 158

原创 Laravel服务提供者

Laravel服务提供者概念和意义使用示例底层是如何加载的?概念和意义把组件统一管理起来形成一个服务,和业务层分离,业务代码层调用各种服务。当修改独立服务的底层实现时,不会影响业务层,达到了降低代码耦合,增强代码分层的架构设计。使用示例执行php artisan make:provider RepositoriesServiceProvider创建一个服务提供者。在app目录下创建R...

2019-10-03 20:06:55 81

原创 laravel生命周期

laravel生命周期概览第二步new容器详解第三步处理http请求详解概览一个请求到了laravel框架之后,内部经过了哪些步骤,最后才返回http响应给客户端?public/index.php:<?php// 1. 引入autoload.php,初始化composer自动加载。require __DIR__.'/../bootstrap/autoload.php';/...

2019-10-02 17:02:07 94

原创 PHP容器

PHP容器介绍应用场景例子Laravel框架底层对容器的使用参考资料介绍可以理解为一个盒子,事先将项目中可能用到的类扔进去,在项目中直接从容器中拿,也就是避免了直接在项目中到处new,造成大量耦合。取而代之的是在项目类里面增设setDi、getDi方法,通过Di(依赖注入)统一管理类。应用场景需要灵活管理一大堆具有依赖关系的对象时,比如一个PHP框架需要管理众多服务时。例子1.定义了一...

2019-09-23 00:04:12 1305

原创 控制反转

依赖注入介绍例子Laravel底层例子介绍一种设计模式,通过构造函数或一个方法,把一个外部实例注入进本类内部,而不是在本类内部创建外部实例,就是依赖注入。好处就是解耦。例子拿我之前写的compose pack举例:https://github.com/OX007/easywechatsharesrc/Share.php中的Share类里面需要使用EasyWeChat\Foundatio...

2019-09-20 00:18:02 138

原创 REST API

REST是一种统一URL命名和使用的规范,理念是把要操作的对象当作资源。URL以资源命名,不使用要操作的动词,操作和状态码统一使用HTTP的method和status code。大家都按照这个规范来,效率就高了,一看这个请求就知道是干嘛用的。不在URL中出现动词。例子,左边是不符合REST规范的,右边是符合的:GET /rest/api/getDogs --> GET /res...

2019-09-06 11:50:36 67

原创 PHP Generator

PHP Generator概念迭代器Iterator生成器Generator生成器/迭代器的优势概念PHP Generator,是迭代器接口的实现。只要是包含yield关键字的函数,那么这个函数的返回值就是一个Generator对象。只有在迭代这个Generator对象的时候,其代码才会执行,其中的yield会中断代码执行,当再次迭代到的时候,会继续执行。由于Generator是迭代器接...

2019-09-04 23:41:58 184

原创 PHP libcurl 安全之 CURLOPT_SAFE_UPLOAD

概要TRUE为禁用 @ 前缀在 CURLOPT_POSTFIELDS 中发送文件。FALSE为启用,@开头的value会被当做文件上传。PHP 5.5.0 中添加,默认值 FALSE。PHP 5.6.0 改默认值为 TRUE。PHP 7 删除了此选项。复现复现使用的PHP版本:5.6.38假设有这么一段代码:www.***.com/index.php<?php$url ...

2019-09-03 22:29:47 948

原创 PHP反序列化漏洞CVE-2016-7124

影响范围PHP5 < 5.6.25PHP7 < 7.0.10漏洞原理当反序列化字符串中,表示属性个数的值大于真实属性个数时,会绕过 __wakeup 函数的执行。概念序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象...

2019-09-03 16:45:10 454

原创 PHP interface

PHP interface介绍例子透过laravel框架中的使用进一步了解介绍管理类方法统一性、规范性,对一个功能的约束、描述。尤其是框架的实现中,更加体现了对模块的管理。例子interface PlayerInterface{ const company = 'T'; public function open(); // 打开资源 public function play(...

2019-08-30 16:45:20 598

WinZip 7 for Mac

WinZip 7 for Mac(著名压缩解压工具)最新版,版本7.0.4564,分享给大家使用 !

2020-08-07

Archiver 3 for Mac(压缩解压工具)附注册机 v3.0.2激活版

Archiver 3 for Mac(压缩解压工具)附注册机 v3.0.2激活版,需要的小伙伴可以自行下载哈~!

2018-12-26

iStatistica for mac破解版

iStatistica for mac破解版,需要的小伙伴可以自行下载哈~!

2018-12-26

WinZip 6 for Mac 最新版附注册码 v6.2.4072破解版

WinZip 6 for Mac(著名压缩解压工具)最新版附注册码 v6.2.4072破解版,分享给大家使用!

2018-12-26

魅思6.0视频系统源码带分销功能

魅思6.0视频系统源码带分销功能免签支付宝支付+价值1800元,有需要的小伙伴可以自行下载~!

2018-11-20

Dr. Cleaner Pro(系统清理大师) v1.3.3破解免费版

Dr. Cleaner Pro(系统清理大师) v1.3.3破解免费版,分享给大家使用!

2018-11-19

微信夹娃娃游戏代码

微信夹娃娃游戏全开源代码,需要的朋友可以下载使用。

2018-11-19

最新sublime text3注册码,3143版本可用

最新sublime text3注册码,3143版本可用 最新sublime text3 3143注册码 最新sublime text3注册码 最新sublime text3注册码

2017-09-14

空空如也

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