自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (2)
  • 收藏
  • 关注

原创 源码真实战(php mysql vue)

项目是一个在线工具箱项目,立志于做一个全面的工具箱网站,并随着运营时间的推进,将逐步完善工具箱,目前包含如下工具并在本系列文章逐步开放相关的源代码(含前端、后端)。

2022-05-02 18:39:38 629

原创 php-访问者模式实现

访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。

2021-09-17 21:23:53 215

原创 php-解释器模式实现

解释器模式(interpreter):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。解释器模式需要解决的是,如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。

2021-09-16 18:08:03 248

原创 php-中介者模式实现

中介者模式(Mediator Pattern)定义:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。

2021-09-15 16:54:26 146

原创 php-状态模式实现

状态模式(State Pattern) :允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。

2021-09-14 23:22:54 166

原创 php-备忘录模式实现

php-备忘录模式实现概述又叫做快照模式或Token模式,在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。还是以摩托制造厂为例,作为企业我们需要制定一套员工考勤制度,我们需要知道并记录员工的当月迟到状况,并与次月恢复初始化该员工的考勤状态,出于考勤的灵活性以及人性化我们允许员工单月可累计迟到300分钟不予处罚。本文实例将以张三李四两个员工为例模式结构Memento - 备忘录类Originator - 备忘录管理器Staff

2021-09-14 17:13:13 154

原创 php-命令模式实现

命令模式(Command Pattern):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。

2021-09-13 22:48:10 70

原创 php-责任链模式实现

责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。

2021-09-12 22:43:38 201

原创 php-迭代器模式

​ 迭代器模式:迭代器模式是遍历集合的成熟模式,迭代器模式的关键是将遍历集合的任务交给一个叫做迭代器的对象,它的工作时遍历并选择序列中的对象,而客户端程序员不必知道或关心该集合序列底层的结构。

2021-09-12 19:06:33 209

原创 php-观察者模式实现

观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。

2021-09-09 00:25:06 179

原创 php-模板方式模式实现

模板方法(Template Method)设计模式中使用了一个类方法templateMethod(), 该方法是抽象类中的一个具体方法, 这个方法的作用是对抽象方法序列排序,具体实现留给具体类来完成.关键在于模板方法模式定义了操作中算法的"骨架",而由具体类来实现.

2021-09-08 22:24:20 145 1

原创 php-策略模式实现

策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。

2021-09-05 23:47:19 127

原创 php-享元模式实现

享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。

2021-09-05 19:33:00 125

原创 php-代理模式实现

代理模式(Proxy Pattern) :给某一个对象提供一个代 理,并由代理对象控制对原对象的引用。代理模式的英 文叫做Proxy或Surrogate,它是一种对象结构型模式。

2021-09-01 22:50:29 230

原创 php-门面模式实现

门面模式(外观模式)(Facade Pattern):外部与子系统的通信必须通过一个统一的门面对象进行。为子系统提供了一个一直的对象接口,门面模式定义了一个高层接口,这个接口使得子系统使用起来更加方便。

2021-08-31 22:39:40 330 2

原创 php-装饰器模式实现

装饰模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility),就增加对象功能来说,装饰模式比生成子类实现更为灵活。其别名也可以称为包装器(Wrapper),与适配器模式的别名相同,但它们适用于不同的场合。根据翻译的不同,装饰模式也有人称之为“油漆工模式”,它是一种对象结构型模式。

2021-08-29 23:37:43 203

原创 php-合成模式实现

将对象组合成树形结构以表示”部分-整体”的层次结构。Composite使用户对单个对象和组合对象的使用具有一致性。Composite变化的是一个对象的结构和组成。

2021-08-26 23:19:51 145 1

原创 php-桥接模式实现

在面向对象的世界里,继承是必不可少的。通过继承可以实现子类共享父类的属性,以及功能方法。从而实现类的复用。但是继承带来的问题也是不可忽视的。那就是严重的耦合性,父类的修改会直接对子类产生影响,经常会出现修改一个方法或者属性的同时要去修改其对应的所有子类。这就违背了开放封装原则。而桥接模式就是为了解决这个问题,它强调的是用组合/聚合的方式共享一些能用的方法。

2021-08-24 08:22:18 108

原创 设计模式的前世今生

软件模式。软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样例(编码,架构,需求分析以及过程分析等)。软件模式并不专门代指设计模式,还包含架构模式,分析模式和过程模式等。在软件开发、存续期的每一个阶段都有其适用的模式。由此可以看出设计模式仅是软件模式中的一种。

2021-08-15 21:59:52 402

原创 php-适配器模式实现

适配器模式(Adapter) :将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。

2021-08-11 22:50:21 189

原创 php-原型模式实现

php-原型模式实现概述原型模式(Prototype)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。我们这里还是以前面几篇文章(php-工厂模式实现、php-抽象工厂模式实现、php-建造者模式实现、)的摩托车制造厂为例。客户要求生产蓝色和红色的踏板摩托车,除颜色外其他属性都一样。这时候我们就可以考虑共用踏板车除车身颜色以外的所有生产环节,在软件工程中我们可以通过克隆(clone-本文采用了深拷贝)轻松实现,而不用每次都去new一个对象,毕竟

2021-08-09 23:36:46 123

原创 php-建造者模式实现

建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。根据中文翻译的不同,建造者模式又可以称为生成器模式。

2021-08-08 23:19:41 200 2

原创 php-抽象工厂模式实现

抽象工厂模式(Abstract Factory):抽象工厂模式是对工厂模式的抽象,通俗来说,就是把工厂模式的结构分离出来成为能独立运行的个体。抽象工厂模式将工厂模式进行抽象,可以使得抽象出来的新结构更加的灵活。例如,生产摩托车身需要一个喷漆的动作,在工厂模式中,我们需要对整体结构进行更改,而抽象工厂中,只需要对生产车身进行更改。

2021-08-07 18:19:45 215

原创 php-工厂模式实现

工厂模式(Factory Pattern):在工厂模式中,可以根据参数的不同返回不同类的实例。工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

2021-08-05 08:39:20 237

原创 php-单例模式实现

单例模式(Singleton Pattern):确保某一个类只有一个实例且自行实例化并向整个系统提供这个实例,这个类称之为单例类,它提供全局访问的方法。

2021-08-03 22:50:31 407

原创 设计模式分类

设计模式按行为可分为三类 ,创建型、结构型、行为型。这里以GoF总结出来的23种设计模式为准

2021-08-01 22:45:23 181

原创 设计模式原则

在进入正题之前,我们首先引入一个概念——软件模式。软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样例(编码,架构,需求分析以及过程分析等)。软件模式并不专门代指设计模式,还包含架构模式,分析模式和过程模式等。在软件开发、存续期的每一个阶段都有其适用的模式。由此可以看出设计模式仅是软件模式中的一种。设计模式概述综上所述我们可以知道,设计模式并不一定就是一个类库或者其他第三方框架,它们更多的表现为一些解决问题的思想并且能广泛应用于日常软件工程工作中,可以

2021-07-30 17:22:49 109

原创 Mac php安装pear并使用pecl安装php拓展

PEAR将php开发过程中常见的功能编写成类库,如网络协议,文件操作,数据操作,缓存操作等许多其他常用功能,用户可通过这些类库进行适当的开发已达到开发的目的,避免了用户重复造轮子的工作。大大提高了Php程序开发的效率和开发质量PECL(PHP Extension Community Library)php扩展库PECL可以看作是P

2021-07-23 15:47:39 312

原创 二进制转字符串(中英以及各种符号混合)php

最近在开发一个在线工具站,做二进制和字符串互转功能。经过一番折腾最终效果非常赞。话不多说直接上代码字符串转二进制/** * 字符串转换成二进制 * @author xieye * * @param {string} $word 待转换的字符-必须是单字符 * @return {string} 二进制 */ function txtTobinary($word) { $txtarr = str_split($word);.

2021-04-07 00:03:10 1703 2

原创 php获取中文拼音(含生僻字,多音字,音标)支持首字母,全拼

php获取中文拼音(含生僻字,多音字,音标)支持首字母,全拼前面文章有提到php获取中文拼音的解决方案,文章链接如下该方法的优势在于速度够快,不依赖于任何第三方库。但不支持多音字以及音标的获取,现在将借助第三方库解决这个问题

2021-04-04 21:27:59 1025

原创 Typora更换主题步骤

Typora更换主题步骤Typora是好用极简免费的跨平台 Markdown 编辑器,支持markdown的标准语法,同时这款软件还支持动态预览功能,一键预览,是一款不可多得的优质markdown编辑器。Typora默认主题只有 Github Newsprint Night Pixyll Whitey难免有些不够用,为此我们需要做扩展。本篇博文主要讲一下如何扩展主题。开始之前可在官网下载主题文件,点此进入,这里我们选用的是OneDar下载完成后解压文件。把文件夹里面的样式文件和对应的文件夹拷贝

2020-09-08 19:53:16 808

原创 php7使用AES对称加密算法

对称加密算法:AES,可逆(DES的替代者)

2020-07-21 15:15:58 819

原创 apache多站点解决方案(同端口不同IP,同IP不同端口,多域名)

apache多站点解决方案(同端口不同IP,同IP不同端口,多域名)

2020-07-16 13:09:38 1775

原创 Laravel实现适用于API的分页查询

Laravel自带分页查询方法里有一些多余的数据,并不完美适用于我们用来做API的查询。本文旨在通过重写 paginate 解决分页查询针对API接口的的灵活性和适用性。

2020-06-28 09:50:36 4418 4

原创 Laravel实现表单验证(多场景,适用于API)

针对Laravel 的表单验证不支持scene场景验证而做的对应调整。

2020-06-24 14:36:07 1399

原创 php安装Xdebug Vs Code断点调试

php安装Xdebug Vs Code断点调试下载Xdebug下载地址:http://pecl.php.net/package/xdebug/2.9.6/windows下载时需核对 PHP 对应版本(版本号以及是否为线程安全版本 NTS or TS)TS指Thread Safety,即线程安全,一般在IIS以ISAPI方式加载的时候选择这个版本。NTS即None-Thread Safe,一般以fast cgi方式运行的时候选择这个版本,具有更好的性能。tips:为什么我不用官网自带的工具检测

2020-06-12 17:26:21 371 2

原创 分享一个 Markdown 编辑器 Typora

Typora是好用极简免费的跨平台 Markdown 编辑器,支持markdown的标准语法,同时这款软件还支持动态预览功能,一键预览,是一款不可多得的优质markdown编辑器。下载地址:https://www.typora.io/#windows...

2020-06-10 16:20:58 126

原创 PHP性能开发-代码优化

工欲善其事必先利其器,作为一名合格的PHP开发工程师,应该尽可能的让自己的代码更加高效。本篇简单的提供了一些PHP代码优化方面的建议。旨在共同进步。

2020-06-09 15:45:44 325 1

原创 解决使用composer安装Larave卡在“Changed current directory to C:/Users/Administrator/AppData/Roaming/Composer”

问题描述:按照手册安装时出现了如下页面-然后就一直卡在这里没有动作原因:默认镜像地址在海外,因为你懂得的原因自然出现了我们看到的这个问题。解决方案:更改镜像地址为国内地址,如下composer config -g repo.packagist composer https://packagist.phpcomposer.com直接拷贝进命令行执行,然后重新下载...

2020-06-05 15:33:52 2012

原创 php获取中文拼音(含生僻字)支持首字母,全拼

php获取中文拼音(含生僻字)支持首字母,全拼进阶篇支持多音字,音标

2020-06-03 15:59:40 155404

php-pinyin.zip

php获取中文拼音(含生僻字,多音字,音标)支持首字母,全拼

2021-04-04

FCookie.js

此Javascript插件主要用于web端cookie 写入、读取、判断cookid是否存在 用

2020-04-24

空空如也

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

TA关注的人

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