自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

PHPer技术栈

专注后端开发,倡导开源文化,做一个好玩、有趣、有灵魂的PHPer工程师,欢迎大家关注!

原创 MySQL 设计与开发规范

该仓库整理收集了目前主要的 `Mysql` 设计规范,为了方便讨论规范带来的问题及争议,现把该文档托管于 `Github`,欢迎大家补充!github地址:https://github.com/734380794/mysql-specification.git1.规范背景与目的本规范旨在帮助或指导RD、QA、OP等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、SQL编写等方面予以规范,从而为公司业务系统稳定、健康地运行提供保障2. 设计规范2.1. 数据库设计以

2020-07-23 16:32:13 36

原创 小程序微信支付实现

前言:最近在做小程序微信支付,开发中遇到的各种问题与大家分享,对小程序微信支付做一个简单的总结和梳理。开发环境:- 使用语言:PHP # PHP世界上最好的语言- 使用框架:zend framwork # 公司内部框架,实现原理不受框架约束- 测试工具:微信开发者工具 # 简单、方便、好用- 整理时间:2019-02-12 ...

2020-07-14 16:32:30 115

原创 Laravel 框架实现无限极分类

最近开发商品功能,在尝试递归和引用方式后,蓦然回首,突然发现 laravel 框架有更简单高效的实现方式,无限极分类最佳实践,open code 与大家共享!感兴趣的 Mark 一下,谢谢~表结构如下:CREATE TABLE `goods_category` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id', `name` varchar(500) DEFAULT '' COMMENT '分类名称', `pi

2020-06-08 19:49:30 105

原创 Laravel 框架生成 Plist 数据

前言:在客户端版本更新中,常用有两种更新方式,一是上架应用宝和苹果应用商店,二是上传到服务器,客户端做包版本更新检测,今天,小编给大家详细讲解一下客户端版本更新原理。话不多说,文件更新如图所示:在常见包更新中,安卓apk包通过访问服务器http:xxx.apk包文件下载地址直接更新,而ios包则需要先读取plist文件,获取URL地址,来实现。Plist文件说明Plist文...

2019-07-31 19:43:39 174

原创 8个有用的JS技巧

这些技巧可能大家大部分都用过了,如果用过就当作加深点映像,如果没有遇到过,就当作学会了几个技巧。1. 确保数组值使用 grid ,需要重新创建原始数据,并且每行的列长度可能不匹配, 为了确保不匹配行之间的长度相等,可以使用Array.fill方法。let array = Array(5).fill('');console.log(array); // outputs (5) [""...

2019-07-09 17:33:58 592

原创 CDN 的作用与基本过程

简介CDN,Content Distribute Network,可以直译成内容分发网络,CDN解决的是如何将数据快速可靠从源站传递到用户的问题。用户获取数据时,不需要直接从源站获取,通过CDN对于数据的分发,用户可以从一个较优的服务器获取数据,从而达到快速访问,并减少源站负载压力的目的。动机为什么不进行数据的直接交付,即让用户直接从源站获取数据呢? 我们常说的互联网实际上由两层组成...

2019-07-09 17:32:33 205

原创 workman 和swoole 区别

Swoole:面向生产环境的 PHP 异步网络通信引擎 使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提...

2019-07-08 18:57:18 367

原创 PHP 7.0新增特性详解

开始介绍PHP7.0新特性,具体的可以参照官网的介绍,我来挑一些给大家详细讲解下1. ?? 运算符(NULL 合并运算符)$a = $_GET['a'] ?? 1;它相当于:$a = empty($_GET['a']) ? 1 : $_GET['a'];我们知道三元运算符是可以这样用的:$a ?: 1但是这是建立在 $a 已经定义了的前提上。新增的 ?? 运算...

2019-06-12 11:09:22 69

原创 mysql让主键id重新排序

1、备份表结构create table table_bak like table_name;2、备份表数据insert into table_bak select * from table_name;3、删除原来主键字段(如id)alter table table_name drop id;4、添加主键,自增,放在第一位alter table table_nam...

2019-03-05 10:50:02 554

转载 微信支付开发 JS API支付

本文介绍微信支付下的jsapi实现流程前言微信支付现在分为v2版和v3版,2014年9月10号之前申请的为v2版,之后申请的为v3版。V3版的微信支付没有paySignKey参数。v2的相关介绍请参考方倍工作室的其他文章。本文介绍的微信支付v3。流程实现1. OAuth2.0授权JSAPI 支付前需要调用 登录授权接口获取到用户的 Openid 。所以需要做一次授权,这次授权是...

2019-02-25 11:44:19 235

原创 phpqrcode类生成二维码详解

本文实例讲述了PHP基于phpqrcode类生成二维码的方法。分享给大家供大家参考,具体如下:使用PHP语言生成二维码,还是挺有难度的,当然调用生成二维码图片的接口(比如:联图网http://www.liantu.com/的接口)除外,如果自己写代码生成,真的无从下手。然而,我们可以使用phpqrcode这个现成的类文件,PHP二维码生成类库,利用它可以轻松生成二维码。前期准备:1.p...

2019-02-25 11:31:46 1284

原创 PHP常用代码汇总

在编写代码的时候有个神奇的工具总是好的!下面这里收集了 40+ PHP 代码片段,可以帮助你开发 PHP 项目。这些 PHP 片段对于 PHP 初学者也非常有帮助,非常容易学习,让我们开始学习吧~1. 发送 SMS在开发 Web 或者移动应用的时候,经常会遇到需要发送 SMS 给用户,或者因为登录原因,或者是为了发送信息。下面的 PHP 代码就实现了发送 SMS 的功能。为了使用任...

2019-02-25 11:23:38 188

原创 PHP面向对象--访问修饰符

PHP中有三种访问修饰符,分别是:public(公有的):在类的外部,类本部和子类中都可以访问 private(私有的):只能在类中访问,子类和类的外部都不能访问 protected(受保护的):在类本部、子类中可以访问,在类的外部不能访问它们可以用在类的属性和方法上,用来修饰类成员的访问权限,类的属性和方法统称为类的成员。   1.public(公有的)     在PHP5中如...

2019-02-19 14:37:46 102

原创 PHP单例模式--三私一公

PHP设计模式之一,单例模式,顾名思义就是只有一个实例。单例模式确保某一个类只有一个实例,不能重复实例,只能它自己实例化,而且向整个系统提供这个实例。三私一公:私有化静态属性,私有化构造方法,私有化克隆方法,公有化静态方法。单例模式:即一个类只被实例化一次,当其他人对其再次实例化时,返回第一次实例化的对象,可以避免大量的new 操作,减少资源的消耗,典型应用于数据库类的实例化。以实例...

2019-02-19 10:56:00 3105 2

原创 PHP命名空间 namespace 及 use 的用法

在PHP中,出现同名函数或是同名类是不被允许的。为防止编程人员在项目中定义的类名或函数名出现重复冲突,在PHP5.3中引入了命名空间这一概念。什么是命名空间?命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。具体举个例子,文件 foo.txt 可以同时在目录/home/greg 和 /hom...

2019-02-18 17:16:59 451

原创 小程序开发文档规范

目录规范1.目录概述组件文件所有组件相关文件统一放在components目录下。图片文件项目图片文件放置于根目录的images文件夹下,组件独有的图片放在当前组件images目录下模型文件模型文件主要用于编写各类业务模型。项目模型文件放置于根目录的models文件夹下,组件相关模型放置于components目录下的models文件夹中。行为文件行为文件放在所引用...

2019-02-18 15:30:48 1565

转载 小程序的安全与管控

作为一个平台,管控和安全是很有必要性的。虽然说这些是开发自己需要进行防范的,但是平台如果能解决,也算是皆大欢喜了。双线程到底解决了什么先给小程序团队的双线程设计鼓个掌,关于双线程大家也可以回顾下《小程序的底层框架》。H5 的隐患要知道,Web 技术是非常开放灵活的,开发者可以利用 JavaScript 脚本随意地操作 DOM,这是会带来以下的问题:随意地跳转网页,改变界面上的任...

2019-02-18 15:13:02 1687

转载 小程序的底层框架

前端的框架太多让人眼花缭乱,很多相似的地方,优秀的地方大家都会借鉴,同时又会有各自的一些特点。小程序也好,其他框架也好,理解他们的设计缘由、实现原理,还是能学到很多很多东西的。一切始于双线程技术选型上一节《小程序的诞生》中,我们也提到了小程序的双线程设计。目前来说,页面渲染的方式主要有三种:Web 渲染。 Native 原生渲染。 Web 与 Native 两者掺杂,也即我...

2019-02-18 15:10:39 1258

原创 PHP 中最全的设计模式(23种)

PhpDesignPatterns 【PHP 中的设计模式】一、 Introduction【介绍】设计模式:提供了一种广泛的可重用的方式来解决我们日常编程中常常遇见的问题。设计模式并不一定就是一个类库或者第三方框架,它们更多的表现为一种思想并且广泛地应用在系统中。它们也表现为一种模式或者模板,可以在多个不同的场景下用于解决问题。设计模式可以用于加速开发,并且将很多大的想法或者设计以一种简...

2019-02-15 16:58:56 444

转载 小程序的登录与静默续期

每一个有数据交互的小程序,都会涉及到登录、token 等问题,openid 又是什么呢?怎么使用静默续期,来提升用户体验呢?小程序登录登录时序一切的一切,都要从这么一张小程序登录时序图说起:通常情况下,我们的小程序都会有业务身份,如何将微信帐号和业务身份关联起来呢?这个时候我们需要上图的步骤:小程序调用wx.login()获取临时登录凭证code。 小程序将code传到开发者...

2019-02-15 13:58:58 2063 2

转载 mysql 性能优化方案

网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql进行具体的优化。mysql> show global status;  可以列出mys...

2019-02-15 11:44:54 730 1

转载 微信小程序开源项目库汇总

最近微信小程序很火,收集了许多GitHub上的微信小程序开源项目,做了一个合集 微信小程序合集,内含各种微信小程序相关的开发工具,Demo,UI组件,开发框架,项目实例等等等等,会不断更新,大家喜欢的可以star一下。内容UI组件 开发框架 实用库 开发工具 服务端 项目实例 DemoUI组件weui-wxss ★1873 - 同微信原生视觉体验一致的基础样式库 zan...

2018-11-02 13:40:44 1780 1

原创 判断是否是H5浏览器

//判断是否是微信浏览器的函数function isWeiXin(){ //window.navigator.userAgent属性包含了浏览器类型、版本、操作系统类型、浏览器引擎类型等信息,这个属性可以用来判断浏览器类型 var ua = window.navigator.userAgent.toLowerCase(); //通过正则表达式匹配ua中是否含有MicroMessen...

2018-10-31 10:25:50 281

原创 分析php://output和php://stdout的区别

PHP包含了以php://开头的一系列输出输出流,如php://stdin, php://stdout等。今天查看代码时,忽然想到一个问题:php://output和php://stdout有什么区别?两者区别如下:1. 均是只读流;2. php://stdin是PHP进程的标准输入,php://input用来读取请求正文的原始数据。通过这些信息,该如何正确认识两者的本质区别?顺着...

2018-10-23 16:07:16 485

原创 PHP中使用CURL实现GET和POST请求

1.CURL介绍 CURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 CURL 库。使用PHP的CURL 库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获...

2018-10-23 09:41:04 137

原创 PHP开发APP接口实现--基本篇

最近一段时间一直在做APP接口,总结一下APP接口开发以来的心得,与大家分享:1. 客户端/服务器接口请求流程:安卓/IOS客户端   –> PHP接口 –> 服务器端  –> 数据处理 –> 返回值(客户端接收并处理)APP的通信方式:客户端 (接口地址:http://app.com/api.php?format=xml/json)客户端APP ...

2018-10-22 14:51:22 4727 1

原创 微信小程序获取unionid与openid

获取unionid需要先在微信开放平台绑定小程序,否则无法获取UnionID机制说明unionid来区分用户的唯一性,在相同微信开放平台帐号下的移动应用、网站应用、小程序、公众号,用户的unionid是唯一的。也就是说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。OpenID机制说明OpenId是用来区分应用的唯一性,在相同微信开放平台账号下不用的应用,其u...

2018-10-17 15:56:14 13202

原创 微信小程序模板消息实现(PHP+小程序)

参考官方文档和部分资料,总结小程序模板消息推送以及相关注意事项,楼主踩过的坑,特来与大家分享。一、开发准备:1.在微信公众平台-小程序的模板中心申请消息模板二、实现原理:文档示例:小程序 + 接口(PHP)小程序部分:话不多说,先上效果图:示例代码:<form bindsubmit="formSubmit" report-submit='tr...

2018-09-29 17:19:19 5064 1

原创 微信浏览器打开APP

实现效果如下图所示,在手机浏览器中访问南泥湾的手机版网站(wechat.nanniwan.com),顶部会有一个广告图,点击这个广告图,如果手机上已经安装了App,则直接打开,如果没有安装,则开始下载,如果在微信公众号中,则跳转应用宝第三方平台跳转。实现方式1.为Android应用的启动Activity设置一个Schema,如下:<...

2017-09-30 14:37:13 1143

原创 LArea插件的使用

楼主最近在开发微信端三级滑动遇到的N多技术问题,与大家分享,话不多说,先上效果图:LArea插件的使用,前端部分参考如下:关于PHP插件使用,请往下看:1.首先在前端页面引入js样式和插件库,设置隐藏域,input标签中获取id值2. 用POST方式获取隐藏值,如:area_id :17,258,2820,PHP后台获取id值,此地址为3级id地址3.使用...

2017-03-28 16:20:33 7795

原创 thinkphp 开发 App 接口的方法步骤

1、可以使用 REST模式 来开发 App 接口,首先建立一个公共控制器,再建其他控制器继承它即可。2、确定好返回的数据内容格式及信息码;// App接口公共控制器 AppControllernamespace Api\Controller;use Think\Controller\RestController;class AppController extends Res

2017-02-09 21:29:49 2432

原创 TP框架中的M,D,C,A,I,S方法

M方法M实例化参数是数据库的表名//使用M方法实例化$User = M('User');//和用法$User = new /Think/Model ('User');等效//执行其他的数据操作$User->select();M 方法也支持垮库操作.//使用M方法实例化,操作db_name中的ot_user表$User = M('db_name.User','ot_');/...

2017-02-09 21:25:50 19041

原创 PHP 5.2、5.3、5.4、5.5、5.6 版本对比及功能详解

PHP 5.2、5.3、5.4、5.5、5.6 对比以及功能详解截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已经不在维护 [注] 的 PHP5.2, 其余的一半用户在使用 PHP5.3 [注].因为 PHP 那“集百家之长”的蛋疼语法,加上社区氛围不好,很多人对新版本,新特征并无兴趣。本文将会介绍自 PHP5.2 起,直至

2016-12-15 10:00:30 1359

原创 API接口大全

在本文中,我们列出微信公众平台上可以使用的API接口以及举例如何在微信公众平台调用这些接口实现相应的功能。接口调用说明:① Appkey请使用的微信公众号,不要使用默认的trailuser② 接口返回类型为文本、图文、及音乐三种基本消息③ 请在所有消息底部主动加上“技术支持 方倍工作室”④ JSON验证网址 http://apix.sinaapp.com/json/⑤ 接口将不定期增...

2016-12-01 15:38:23 2834

原创 thinkphp3.2支付宝接口类教程

thinkphp3.2.3 成功对接支付宝接口,thinkphp小巧开源的一款框架 博主还是比较看好了 今天需要做个项目 看了下 官方的一些文档 对3.2的支付宝的教程 有点少 本人装个13写一个。首先登陆支付宝集成接口的地址 下载你需要的文档  https://doc.open.alipay.com/doc2/detail?treeId=62&articleId=103566&a...

2016-12-01 14:39:56 1080

原创 免费API-手机号码归属地API接口

手机号码归属地接口:根据手机号码或手机号码的前7位,查询手机号码归属地信息,包括省份 、城市、区号、邮编、运营商和卡类型。接口文档:https://www.juhe.cn/docs/api/id/11如要使用,则需要先申请APPKEY,之后就可以无限次免费使用。接口地址:http://apis.juhe.cn/mobile/get支持格式:json/xml请求方式:

2016-12-01 14:32:47 4950 1

原创 thinkphp 开发 App 接口的方法步骤

1、可以使用 REST模式 来开发 App 接口,首先建立一个公共控制器,再建其他控制器继承它即可。2、确定好返回的数据内容格式及信息码; <?php// App接口公共控制器 AppControllernamespace Api\Controller;use Think\Controller\RestController;class AppController ext...

2016-12-01 14:29:17 9811

原创 global 关键字

变量范围变量的范围即它定义的上下文背景(也就是它的生效范围)。大部分的 PHP 变量只有一个单独的范围。这个单独的范围跨度同样包含了 include 和 require 引入的文件。例如:$a = 1;include 'b.inc';?>这里变量 $a 将会在包含文件 b.inc 中生效。但是,在用户自定义函数中,一个局部函数范围将被引入。任何用于函

2016-11-20 16:26:15 357

原创 PHP 如何清除COOKIE? PHP无法删除COOKIE?设置COOKIE有效期

PHP 透明地支持 HTTP cookie,  cookie是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制。可以用setcookie() 或 setrawcookie()函数来设置cookie, cookie是HTTP标头的一部分,因此 setcookie()函数必须在其他信息被输出到浏览器前调用,这和对header()函数的限制类似。setcookie();删除

2016-11-20 15:55:33 1458

原创 MySQL优化,MySQL的16个技术要点!

1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同

2016-08-31 10:22:46 565

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