关闭

如何创建一个自己的Composer包

首先让我们踏着欢快的脚步去Github创建一个新库,这里取名 composer-car,又欢快的将它克隆到本地: $ git clone git@github.com:wulove52/vilin-car.git $ cd vilin-car 这个composer-car文件夹就是你的包的根目录了,你只需要记住composer.json在包的哪个目录下面,一般那就是包的根目录了。 现在...
阅读(49) 评论(0)

慎用composer update

问题说明 我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的: composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害。 因为 composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是 所有扩展包,举个例子,你在项目一开始的时候使用...
阅读(42) 评论(0)

HTTP状态码说明

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 100-199 用于指定客户端应相应的某些动作。  200-299 用于表示请求成功 理解和接受。  300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。  400-499 用于指出客户端的错误。  500-599 用于支持服务器错误。  [I...
阅读(23) 评论(0)

imagick的简单使用

PHP建图通常都用GD库,因为是内置的不需要在服务器上额外安装插件,所以用起来比较省心,但是如果你的程序主要的功能就是处理图像,那麼就不建议用GD了,因为GD不但低效能而且能力也比较弱,佔用的系统资源也颇多,另外GD的creatfrom也有bug,而imagick却是一个很好的替代品,为此最近把我的一个项目由GD改成了imagick,但是改完之后出现了一些状况在此分享给大家. 首先说一下我这...
阅读(77) 评论(0)

mysql开发范式和原则

一、 表设计 库名、表名、字段名必须使用小写字母,“_”分割。库名、表名、字段名必须不超过12个字符。库名、表名、字段名见名知意,建议使用名词而不是动词。建议使用InnoDB存储引擎。存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE。建议使用UNSIGNED存储非负数值。建议使用INT UNSIGNED存储IPV4。整形定义中不添加长度,比如使用INT,而不是INT(4)。使...
阅读(88) 评论(0)

事务具有4个属性:原子性、一致性、隔离性、持久性

事务是指对系统进行的一组操作,为了保证系统的完整性,事务需要具有ACID特性,具体如下: 1. 原子性(Atomic)      一个事务包含多个操作,这些操作要么全部执行,要么全都不执行。实现事务的原子性,要支持回滚操作,在某个操作失败后,回滚到事务执行之前的状态。      回滚实际上是一个比较高层抽象的概念,大多数DB在实现事务时,是在事务操作的数据快照上进行的(比如,MV...
阅读(17) 评论(0)

面向对象五大基本原则

面向对象五大基本原则 以前一直认为程序中的类有使用到封装继承多态就是面向对象设计,其实不然 封装,继承,多态只是面向对象的三大特性,但是在设计程序的时候并不是说类的结构使用到了(或是体现出了)这三个特性就是面向对象, 其实真正的面向对象设计是要符合下面的五大原则, 面向对象的五大基本原则 单一职责原则(SRP) 开放封闭原则(OCP)  里氏替换原则(LSP)  依赖倒置原则(...
阅读(19) 评论(0)

php给pdf加上水印

环境 php5.5.12 fpdi-1.5.2 fpdf-1.7 原理 利用fpdi来加载已知pdf文件,用fpdf对pdf进行操作 注意事项 免费的fpdi只支持处理pdf1.4及以下版本,1.5以上就需要用到FPDI PDF-Parser插件 使用方法 fpdi-1.5.2 fpdf-1.7 1.文字水印 word.php ? ...
阅读(20) 评论(0)

一个无限极分类转成tree树的数据结构

说明:工作中 商品的分类  城市的分类  用户组的分类   面包屑 等分类 会可能设计到无限极分类。不确定层级数量。还在前端展示时为了项目好实现,后端需要转成tree树结构 function generateTree($items){     $tree = array();     foreach($items as $item){         if(isset($items...
阅读(27) 评论(0)

无限极分类原理与实现

前言 无限极分类是我很久前学到知识,今天在做一个项目时,发现对其概念有点模糊,所以今天就来说说无限极分类。 首先来说说什么是无限极分类。按照我的理解,就是对数据完成多次分类,如同一棵树一样,从根开始,到主干、枝干、叶子…… 完成无限极分类,主要运用了两种方法,一是递归方式,二是迭代方式。而主要运用无限极分类的地方有地址解析,面包屑导航等等。下面就来具体介绍两种方法的原理及实现方法。 家谱树与子孙树...
阅读(48) 评论(0)

Nginx负载均衡与高可用的实现

Nginx负载均衡与高可用的实现 当生产环境里有很大的流量产生时,通常需要用负载均衡技术来做优化,并确保容错配置。Nginx不光可以实现Web Server,还可以作为HTTP负载均衡来分发流量给后端的应用程序服务器,以此来提高性能。Nginx的负载均衡功能依赖于ngx_http_upstream_module模块,所支持的代理方式有proxy_pass,fa...
阅读(67) 评论(0)

PHP mcrypt加密扩展使用总结

PHP mcrypt加密扩展使用总结 在开发中,很多时候我们在前后端交互中需要对一些敏感数据进行一定的加密。PHP中有提供了mcrypt的这样一个加密扩展实现对数据的加密解密。 一、mcrypt扩展的安装   在低版本的PHP中需要在配置文件php.ini中显式添加对扩展的引用,同时要保证扩展引用目录中有相应的扩展文件;在高版本的PHP中,Windows下似乎默认开启了mcrypt的...
阅读(31) 评论(0)

.ssh文件下 git克隆 秘钥多配置实现

说明:在你进行项目克隆时 有多个项目 并且 有个人和公司的 项目 你们使用了不同的 公钥。那么多配置 怎么实现呢。  其实很简单,只需要改两个地方 1.hosts 文件  ip 和域名的绑定关系         2. .ssh 目录下 的 config 文件 配置如下:...
阅读(55) 评论(0)

微信使用的签名算法应用到接口认证

1、签名算法 (签名校验工具) 签名生成的通用步骤如下: 第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。 特别注意以下重要规则: ◆ 参数名ASCII码从小到大排序(字典序);◆ 如果参数的值为空不参...
阅读(54) 评论(0)

jwt的详细说明

什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可...
阅读(48) 评论(0)
95条 共7页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:61761次
    • 积分:1159
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:46篇
    • 译文:0篇
    • 评论:2条
    最新评论