自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 PHP 设计模式 抽象工厂

上篇文章说了PHP下的简单工厂(静态工厂) 和工厂模式,现在说一下抽象工厂模式工厂模式我们已经说过,增加一个产品很简单,增加对应的产品类和工厂类,不需要对原有代码进行改动,符合开闭原则 现在接着上篇文章,我们又有了新的需求,我们要求苹果味饮料和香蕉味饮料,有百事和可口可乐两个品牌,用工厂模式,就实现不了了,我只能增加单一的产品,但是增加品牌我实现不了,引申而出抽象工厂模式,代码如下

2018-01-23 18:03:45 221

原创 mac phpstorm 使用心得

mac设置phpstorm快捷键Phpstorm->Preferences->Keymap可以选择快捷键模板 有defalut、eclipse、eclipse for mac等等 我习惯的是eclipse 但是切到eclipse下可能有的快捷键没有 这会儿就需要自己修改一下了mac的各种健在快捷键中的图标如下 ⌘ Command⌃ Control⌥ Optio

2018-01-22 16:36:03 1463

原创 php+mysql开发中的一些小常识

一、基础规范 (1)尽量使用 InnoDB 存储引擎 支持事务、行级锁、并发性能更好,CPU 及内存缓存页优化得当,资源利用率更高(2)必须使用 UTF8 字符集 无需转码,无乱码风险(3)数据表、数据字段必须加入中文注释 N 年后谁知道这个 r1,r2,r3 字段是干嘛的(4)尽量不要使用存储过程、视图、触发器、Event 高并发大数据的互联网

2018-01-11 16:24:00 316

原创 将1234567890转换成1,234,567,890 每3位用逗号隔开的形式 PHP千分位

面试的时候碰到了这个问题,简单的研究了一下,常用的有两种方法1.使用php的系统函数 number_format$num = 1234567890;echo number_format($num);//1,234,567,890echo number_format($num,2);//1,234,567,890.00echo number_format($num,2,'.',

2018-01-11 11:28:05 4160

原创 PHP实现无限极分类的两种方式,递归和引用

面试的时候被问到无限极分类的设计和实现,比较常见的做法是在建表的时候,增加一个PID字段用来区别自己所属的分类$array = array(array('id' => 1, 'pid' => 0, 'name' => '河北省'),array('id' => 2, 'pid' => 0, 'name' => '北京市'),array('id' => 3, 'pid' => 1, 'n

2018-01-10 16:26:02 36116 17

原创 面向对象的设计原则

面向对象程序设计有五大基本原则,也就是平常说的SOLID原则 S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。SRP The Single Responsibility Principle 单一职责原则 OCP The Open Closed Principle 开放封闭原则 LSP

2018-01-09 14:22:57 204

原创 PHP switch-case与if-else两个效率谁更高

如果纯粹比较数字或字符,建议使用switch,因为它只会在一开始的switch括号中取出变量值一次,然后将这个值与下面所设定的case比较,但如果使用if,每次遇到条件式时,都要取出变量值,效率的差异就是因为这个$a = 3;if($a == 1)//...else if($a == 2)//...else if($a == 3)//...上面这行代码在$a为3时,共需3次

2018-01-05 17:41:01 6297

原创 mac下快速切换php版本

前提:你的mac环境里所有的php版本都是使用brew安装的1.使用brew安装php方法➜ ~ brew install php70➜ ~ brew install php562.安装版本切换工具php-version➜ ~ brew install php-version➜ ~ source $(brew --prefix php-version)/php-vers

2018-01-05 15:47:29 4414

原创 mysql中int长度的意义

最近接手新项目,看到数据库很多int字段设置了各种各样的长度,估计是小伙伴搞错了int长度的意义,误以为int后面的数字代表的是允许存储的最大长度, 比如, 误以为 int(1) 不能存储 10. 其实在mysql里,int的长度并不会限制存储的数字范围. 比如, int 和 int(3) 的存储范围都是 -2147483648 ~ 2147483647, int unsigned 和 int(

2018-01-05 15:34:28 3608 1

原创 PHP 设计模式 简单工厂和工厂模式

工厂模式是创建型模式的一种,分为简单工厂模式,工厂模式,抽象工厂模式,简单工厂可以称之为工厂模式的一个特例先用一段简单的代码说明一下,现在假设我们是顾客,需要苹果味饮料和香蕉味饮料class AppleDrink{ function getDrinkName() { echo '苹果饮料'; }}class BananaDrink{

2018-01-02 18:37:19 1596

原创 PHP 设计模式 单例模式

单例模式(Singleton Pattern 单件模式或单元素模式),是常见的一种设计模式,它有三个特点1.只能有一个实例 2.必须自行创建这个实例 3.必须给其他对象提供这一实例下面用PHP代码实现一下/** * Created by PHPStorm. * User: tiansi * Date: 18/1/2 * Time: 下午3:40 */class S

2018-01-02 16:09:43 218

空空如也

空空如也

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

TA关注的人

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