自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(190)
  • 资源 (8)
  • 收藏
  • 关注

转载 PHP之Trait详解

php从以前到现在一直都是单继承的语言,无法同时从两个基类中继承属性和方法,为了解决这个问题,php出了Trait这个特性用法:通过在类中使用use 关键字,声明要组合的Trait名称,具体的Trait的声明使用Trait关键词,Trait不能实例化如下代码实例:<?phptrait Dog{ public $name="dog"; public f...

2020-02-25 09:57:53 221

原创 ArrayAccess用法详解

自动加载配置用在Laravel的源码当中,作者多次使用到了PHP SPL中的ArrayAccess接口,那么这个ArrayAccess接口到底有什么作用呢?我会用一个简单的例子跟大家说明。请看下面的这段代码,Foo类实现了ArrayAccess接口中的四个方法,请仔细看这些方法内部的实现代码。看到了吗?这些代码是干什么用的,回答就是这些代码没有用,随便你怎么写,你想写什么就写什么。接口中这...

2019-12-05 16:45:25 673

原创 迭代器

php提供了一个语法结构用于遍历数组和对象foreach遍历数组用法1 <php2 //定义一个数组3 $arr = array("1","2","3","4","5");4 //用foreach遍历5 foreach($arr as $key => $value){6 echo '键名:'.$key.'键值:'.$value."<br>";...

2019-12-05 14:56:43 208

原创 装饰器模式

1.装饰器模式(Decorator),可以动态地添加修改类的功能2.一个类提供了一项功能,如果要在修改并添加额外的功能,传统的编程模式,需要写一个子类继承它,并重新实现类的方法3.使用装饰器模式,仅需在运行时添加一个装饰器对象即可实现,可以实现最大的灵活性<?php/** * 输出一个字符串 * 装饰器动态添加功能 * Class EchoText */class E...

2019-12-05 10:45:49 160

转载 观察者模式

一.观察者模式特点解释:观察者模式(Observer),当一个对象的状态发生改变时,依赖他的对象会全部收到通知,并自动更新。场景:一个事件发生后,要执行一连串更新操作.传统的编程方式,就是在事件的代码之后直接加入处理逻辑,当更新得逻辑增多之后,代码会变得难以维护.这种方式是耦合的,侵入式的,增加新的逻辑需要改变事件主题的代码,而观察者模式实现了低耦合,非侵入式的通知与更新机制二...

2019-12-02 17:04:50 159

转载 数据对象映射模式

【数据对象映射模式】是将对象和数据存储映射起来,对一个对象的操作会映射为对数据存储的操作。例如在代码中 new 一个对象,使用数据对象映射模式就可以将对象的一些操作比如设置一些属性,就会自动保存到数据库,跟数据库中表的一条记录对应起来。【代码实现】在代码中实现数据对象映射模式,我们将实现一个 ORM(对象关系映射Object Relational Mapping) 类,将复杂的...

2019-12-02 15:23:08 257

转载 适配器模式

适配器模式(Adapter Pattern):将某个对象的接口适配为另一个对象所期望的接口。属于结构型设计模式。(一)为什么需要适配器模式1,某个操作数据库的有两套不同的数据库操作方法,我们通过适配器统一成一个接口。例如,我们待会把mysql和mysqli统一成一个接口。2,我们有多套数据库对应了多种数据库操作,例如MySQL,SqlServer,Oralce,Redis都有对应的操作...

2019-11-29 14:22:49 91

转载 注册器模式

工厂模式和策略模式有两种方式去调用方法,一种是用工厂方法调用,一种是单例调取实例,那实际上这两种都有一个缺点(可能也不应该称为缺点,也可叫不足),有一个比较好的方法就是已经创建好的这个对象,直接去取这个对象,这个就是注册器模式。顾名思义,注册器模式就是将对象注册到全局树上,那么他就可以被任意地方访问。直接上代码: 1 2 3 4 5 6...

2019-11-29 11:39:48 630

转载 工厂模式 PHP简单工厂模式、工厂方法模式和抽象工厂模式比较

php工厂模式概念:工厂模式是一种类,它具有为您创建对象的某些方法。您可以使用工厂类创建对象,而不直接使用 new。这样,如果您想要更改所创建的对象类型,只需更改该工厂即可。使用该工厂的所有代码会自动更改。根据抽象程度不同,php工厂模式分为:简单工厂模式、工厂方法模式和抽象工厂模式简单工厂模式: 1 2 3 4 5 6 7 ...

2019-11-29 11:00:42 110

转载 redis常见面试问题

介绍:Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。传统数据库遵循 ACID 规则。而 Nosql(Not Only SQL 的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称) 一般为分布式而分布式一般遵循 CAP 定理。Github 源码:h...

2019-11-27 15:41:43 91

原创 PHP引用(&)使用详解

php的引用(就是在变量或者函数、对象等前面加上&符号)在PHP 中引用的意思是:不同的名字访问同一个变量内容。与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容,在内存中存放的地址。1.变量的引用PHP 的引用允许你用两个变量来指向同一个内容<?php $a="ABC"; $b =&$a; echo $a;//这里输出:AB...

2019-11-03 12:43:51 690

转载 mysql慢查询日志

慢日志查询作用慢日志查询的主要功能就是,记录sql语句中超过设定的时间阈值的查询语句。例如,一条查询sql语句,我们设置的阈值为1s,当这条查询语句的执行时间超过了1s,则将被写入到慢查询配置的日志中. 慢查询主要是为了我们做sql语句的优化功能.慢查询配置项说明登录mysql服务,使用如下命令mysql> show variables like '%query%'...

2019-10-23 17:09:45 165

原创 php链式操作

要实现链式操作需要在方法中 return $this,不然的话只能一个一个方法调用//php链式操作class lianShi{ public $name; public $age; public $sex; public function name($name) { $this->name = $name; ...

2019-10-23 11:52:02 153

转载 CGI、FastCGI和PHP-FPM关系详解

在搭建 LAMP/LNMP 服务器时,会经常遇到PHP-FPM、FastCGI和CGI 这几个概念。如果对它们一知半解,很难搭建出高性能的服务器。接下来我们就以图形方式,解释这些概念之间的关系。基础在整个网站架构中,Web Server(如Apache)只是内容的分发者。举个栗子,如果客户端请求的是 index.html,那么Web Server会去文件系统中找到这个文件,发送给浏览器,...

2019-09-18 10:52:18 146

转载 restful api

提到RESTful API 大家势必或多或少听说过。但是什么是RESTful API ?如何理解RESTful API 呢?请大家耐心读完这篇文章,相信您读完后一定会有一个更好的理解。我个人认为,要弄清楚什么是RESTful API,首先要弄清楚什么是REST。REST 全称:REpresentational State Transfer,英文翻译过来就是“表现层状态转化”。如果单看这个概念,...

2019-08-19 21:06:01 145

转载 MySQL基准测试和sysbench工具

前言作为一名后台开发,对数据库进行基准测试,以掌握数据库的性能情况是非常必要的。本文介绍了MySQL基准测试的基本概念,以及使用sysbench对MySQL进行基准测试的详细方法。一、基准测试简介1、什么是基准测试数据库的基准测试是对数据库的性能指标进行定量的、可复现的、可对比的测试。基准测试与压力测试基准测试可以理解为针对系统的一种压力测试。但基准测试不关心业务逻辑,更加...

2019-07-25 17:50:56 195

转载 mysql数据备份

mysqldump备份1、备份命令格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql例如: mysqldump -h 192.168.1.100 -p 3306 -uroot -ppassword --database cmdb > /data/backup/cmdb.sql...

2019-07-18 10:01:01 113

转载 事务的隔离级别和mysql事务隔离级别修改

A事务做了操作没有提交对B事务来说就等于没做获取的都是之前的数据但是在A事务中查询的话查到的都是操作之后的数据没有提交的数据只有自己看得到,并没有update到数据库。查看InnoDB存储引擎 系统级的隔离级别 和 会话级的隔离级别:mysql> select @@global.tx_isolation,@@tx_isolation;+------...

2019-07-04 11:38:06 228

转载 mysql事务提交过程

MySQL作为一种关系型数据库,已被广泛应用到互联网中的诸多项目中。今天我们来讨论下事务的提交过程。 MySQL体系结构由于mysql插件式存储架构,导致开启binlog后,事务提交实质是二阶段提交,通过两阶段提交,来保证存储引擎和二进制日志的一致。本文仅讨论binlo...

2019-07-04 11:20:31 830

转载 php中stdclass怎么使用?

PHP中STDCLASS在我们开发应用中使用到的不多,但是PHP中STDCLASS作用是非常的大的,下面我们一起来看PHP中STDCLASS的用法.在WordPress中很多地方使用stdClass来定义一个对象(而通常是用数组的方式),然后使用get_object_vars来把定义的对象『转换』成数组.如下代码所示:$tanteng = new stdClass();$tante...

2018-09-19 19:17:10 1626

转载 二进制、八进制、十进制、十六进制之间的转换

进制也就是进制位,对于接触过电脑的人来说应该都不陌生,我们常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是我们常用的0-9是逢10进一位。具体的用法小编今天不着重解释,主要针对他们之间的转换加以讨论(今天只讲整数)。二进制与十进制之间的转换 1 十进制转二进制 方法为:十进制数除2取余法,即十进制数除...

2018-09-09 15:53:17 341

转载 fastcgi与php-fpm的关系

首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。好了,如果现在请求的是/index.php,根据配置文件,nginx知道这个不是静态文件,需要去找PHP解...

2018-05-19 15:49:35 224

原创 快速排序

function kuaisu($arr){ $len = count($arr); if($len &lt;= 1){ return $arr; } $key = $arr[0]; $left_arr = $right_arr = []; for($i=1; $i&lt;$len;$i++){ if($arr[$i...

2018-04-19 16:10:35 240

原创 二分查找

$arr = [1,3,4,5,6,77,88,89,90,100,122,133,134,166];$num = 100;$start = 0;$end = count($arr)-1;//参数 想要找的值,数组,开始键,结束键function getkey($num,$arr,$start,$end){ $mid = ceil(($start+$end)/2); ...

2018-04-19 14:24:33 205

转载 Windows下安装并设置Redis

Redis对于Linux是官方支持的,安装和使用没有什么好说的,普通使用按照官方指导,5分钟以内就能搞定。但有时候又想在windows下折腾下Redis,可以从redis下载页面看到如下提示(在页面中搜索 "windows"):Win64   Unofficial  The Redis project does not directly support Windows,  

2017-09-13 16:11:31 421

原创 laravel 判断查询数据库返回值

在使用 Laravel Eloquent 模型时,我们可能要判断取出的结果集是否为空,但我们发现直接使用 is_null 或empty 是无法判段它结果集是否为空的。var_dump 之后我们很容易发现,即使取到的空结果集, Eloquent 仍然会返回 Illuminate\Database\Eloquent\Collection 对象实例。其实,Eloquent 已经给我们封装几个

2017-05-13 10:24:59 2864

转载 linux上php安装 mongodb扩展

1.首先下载php的mongodb扩展  从http://pecl.php.net/package/mongodb这个网址下载mongodb的扩展源码包  2.解压安装包  tar zxf mongodb-1.2.8.tgz  3.进入解压目录,运行phpize进行安装准备   ( phpize作用)  cd mongodb-1.2.8  /usr/local/php/bin/phpize  4....

2017-03-29 17:21:02 2379

转载 php-config作用

1. php-config简介php安装完后在bin目录下有个php-config。php-config是一个脚本文件。用于获取所安装的php配置的信息。2. 使用场景在编译php扩展时,使用下面命令用于指定php-config的路径。[plain] view plain copy ./configure --with-p

2017-03-29 17:20:31 1865

原创 phpize作用

一、phpize是干嘛的?phpize是什么东西呢?php官方的说明:http://php.net/manual/en/install.pecl.phpize.phpphpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块比如你想在原来编译好的php中加入memcached或者ImageMagick等扩展模块,可以使用phpize,通过以下几步工作。二、

2017-03-29 17:18:00 2390

转载 cookie设置域名问题,cookie跨域

今天研究一天发现cookie无法设置除当前域名或者其父域名之外的其他domain.这个是游览器出于对cookie的保护造成的,也就是cookie无法跨域设置。对于子域名也有如下规则,当前域名只能设置当前域名以及他的父域名,不能设置子域名如在www.wo.cao.baidu.com  域名下只能设置 cao.baidu.com,baidu.com不能设置 da.jia.wo.cao.

2017-03-24 11:39:33 37448 1

转载 linux php安装redis扩展

下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz上传phpredis-2.2.4.tar.gz到/usr/local/src目录cd /usr/local/src #进入软件包存放目录tar zxvf phpredis-2.2.4.tar.gz #解压cd phpredis-2.2.4 #进入安装目录/u

2017-03-23 18:10:07 594

原创 mongodb解决只能本地连接不能远程连接问题

本机windows7 ,装了vagrant盒子,并在盒子上装了mongodb服务,本机连接虚拟机时连不上。解决方法:修改虚拟机上 mongodb.conf 文件,将bind_ip = 127.0.0.1 改成 bind_ip = 0.0.0.0 就可以访问了

2017-03-23 16:15:05 16790 2

转载 linux安装redis服务

本文详细介绍Redis单机单实例安装与配置,服务及开机自启动。如有不对的地方,欢迎大家拍砖o(∩_∩)o一.安装redis1)     下载redis安装包可去官网http://redis.io ,也可通过wget命令,wget http://download.redis.io/redis-stable.tar.gz2)     解压tar –zxvf

2017-03-22 18:28:34 1050

原创 laravel 生成app_key

php artisan key:generate

2017-01-12 09:21:04 26045

转载 laravel5.2 打印sql语句

laravel 5.2 输出sqllaravel输出sql不是很简单,需要自己写一些代码来实现这个功能。把下面的代码放到 app/Providers/AppServiceProvider.php中的boot方法里 :DB::listen(function($sql) { foreach ($sql->bindings as $i => $binding) {

2016-12-06 14:37:42 2602

原创 微信公众平台开发(好文章 好博客链接)

http://www.cnblogs.com/mchina/tag/微信公众/      很不错的一个博客

2016-11-29 16:19:50 525

转载 【php】微信公众帐号开发接口--消息回复

一、简介微信公众平台提供了三种消息回复的格式,即文本回复、图文回复和音乐回复,在这里我想跟大家分享下自己的体会,以供读者使用。二、文本回复 文本回复xml 结构[php] view plain copy       12345678        说明:ToUserName表示接收消息方帐号,即发送请求消息的用户。填写的值是$fromUser

2016-11-29 15:08:10 1153

转载 微信公众平台消息接口PHP版

使用前提条件:拥有一个公网上的HTTP服务器主机空间,具有创建目录、上传文件等权限。首先请注册微信公众平台的账号,注册地址:http://mp.weixin.qq.com/一、写好接口程序在你的服务器上上传好一个接口程序文件,如http://www.yourdomain.com/weixin.php  内容如下:define("TOKEN", "weixin");//自

2016-11-29 11:43:37 656

转载 Laravel模板引擎Blade中section的一些标签的区别介绍

Laravel 框架中的 Blade 模板引擎,很好用,但是在官方文档中有关 Blade 的介绍并不详细,有些东西没有写出来,而有些则是没有说清楚。比如,使用中可能会遇到这样的问题:1.@yield 和 @section 都可以预定义可替代的区块,这两者有什么区别呢?2.@section 可以用 @show, @stop, @overwrite 以及 @append 来结束,这三者又有什么

2016-11-24 10:44:57 624

转载 discuz论坛用户密码加密原理

一般我们的加密都是采用md5加密方式:md5(变量)。但是昨天需要整合discuz的论坛,看 他的加密方式也像是md5,但是简单的123加密后竟然解密不出来。后来在网上查了一下, 发现他不只是简单的md5加密,而是“md5+随机”。当然这样更安全了。    网站安全了,程序自然也就复杂了...    discuz的加密方式:md5(md5($password).$salt)

2016-11-17 14:03:48 7306 3

jquery评分

jquery评分插件 用于评分

2016-08-10

jquery评分插件

2016-08-09

php5.5.12 redis扩展

php5.5.12 redis扩展 可以使用

2015-12-03

fusioncharts案例

fusioncharts,一款不错的画图软件

2014-03-03

dialog插件

一款很好的js弹窗插件,自己留下底,大家有用的可以下载看看

2013-11-28

jquery添加和删除元素

实用的jquery添加删除元素,代码很简单,在这里记录下

2013-11-18

链接mysql类

一个很好的mysql连接类(单例模式),每次都会判断数据库是否已经连接,若连接就不再去链接数据库

2013-09-03

phpexcel类

导出excel的神奇,在此分享给大家,自己也可以留个底

2013-09-03

空空如也

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

TA关注的人

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