随笔分类 -  php

摘要:实用的php清除html,换行,空格类,php去除空格与换行,php清除空白行和换行,提取页面纯文本内容方法一:function DeleteHtml($str) { $str = trim($str); //清除字符串两边的空格$str = preg_replace("/\t/","",$str)... 阅读全文
posted @ 2015-12-15 10:27 zhhtao 阅读(6246) 评论(0) 推荐(0)
摘要:JSON_ERROR_NONE (integer)没有错误发生。自 PHP 5.3.0 起生效。JSON_ERROR_DEPTH (integer)到达了最大堆栈深度。自 PHP 5.3.0 起生效。JSON_ERROR_STATE_MISMATCH (integer)出现了下溢(underflow... 阅读全文
posted @ 2015-11-21 19:00 zhhtao 阅读(849) 评论(0) 推荐(0)
摘要:单例模式(职责模式):简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务;单例类:1、构造函数需要标记为private(访问控制:防止外部代码使用new操作符创建对象),单例类不能在其他类中实例化,只能被其自身实例化;2、拥有一个保存类的实例的静态成员变量3、拥有... 阅读全文
posted @ 2015-09-19 11:13 zhhtao 阅读(2701) 评论(0) 推荐(0)
摘要:安装方法一:通过Homebrew安装mcrypt,安装成功[Shell]纯文本查看复制代码brew install mcryptMCrypt是一个功能强大的加密算法扩展库,它包括有22种算法。1:下载并解压mcrypt-2.6.8.tar.bz2。(2.6.8为版本号,可以自行选择,但是注意后边步骤... 阅读全文
posted @ 2015-06-11 14:33 zhhtao 阅读(297) 评论(0) 推荐(0)
摘要:需要php 支持扩展mcrypt<?phpclass AES { public static function encrypt($input, $key) { $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MO... 阅读全文
posted @ 2015-06-10 15:04 zhhtao 阅读(304) 评论(0) 推荐(0)
摘要:Phpstorm除了能直接打开localhost文件之外,还可以连接FTP,除了完成正常的数据传递任务之外,还可以进行本地文件与服务端文件 的异同比较,同一文件自动匹配目录上传,下载,这些功能是平常IDE,FTP软件中少见的,而且是很耗工作时间的一个操作。换句话说,在 Webstorm/Phpsto... 阅读全文
posted @ 2015-04-29 20:00 zhhtao 阅读(255) 评论(0) 推荐(0)
摘要:1、array_reduce( $arr , callable $callback ) 使用回调函数迭代地将数组简化为单一的值。其中$arr 为输入数组,$callback($result , $value)接受两个参数,$result为上一次迭代产生的值,$value是当前迭代的值。使用arra... 阅读全文
posted @ 2015-04-27 10:18 zhhtao 阅读(488) 评论(0) 推荐(0)
摘要:策略模式:策略模式设计帮助构建的对象不必自身包含逻辑,而是能够根据需要利用其他对象中的算法。使用场景:例如有一个CD类,我们类存储了CD的信息。原先的时候,我们在CD类中直接调用getCD方法给出XML的结果随着业务扩展,需求方提出需要JSON数据格式输出这个时候我们引进了策略模式,可以让使用方根据... 阅读全文
posted @ 2015-04-10 15:16 zhhtao 阅读(135) 评论(0) 推荐(0)
摘要:观察者模式观察者设计模式能够更便利创建和查看目标对象状态的对象,并且提供和核心对象非耦合的置顶功能性。观察者设计模式非常常用,在一般复杂的WEB系统中,观察者模式可以帮你减轻代码设计的压力,降低代码耦合。场景设计设计一个订单类订单创建完成后,会做各种动作,比如发送EMAIL,或者改变订单状态等等。原... 阅读全文
posted @ 2015-04-10 15:15 zhhtao 阅读(207) 评论(0) 推荐(0)
摘要:中介者模式中介者模式用于开发一个对象,这个对象能够在类似对象相互之间不直接相互的情况下传送或者调解对这些对象的集合的修改。一般处理具有类似属性,需要保持同步的非耦合对象时,最佳的做法就是中介者模式。PHP中不是特别常用的设计模式。设计场景:我们有一个CD类和一个MP3类,两个类的结构相似。我们需要在... 阅读全文
posted @ 2015-04-10 15:13 zhhtao 阅读(152) 评论(0) 推荐(0)
摘要:PHP迭代器:可帮助构造特定的对象,那些对象能够提供单一标准接口循环或迭代任何类型的可计数数据。(不是特别常用,在PHP中)使用场景:1.访问一个聚合对象的内容而无需暴露它的内部表示。2.支持对聚合对象的多种遍历。3.为遍历不同的聚合结构提供一个统一的接口(即,多态迭代)。PHP代码实现: v... 阅读全文
posted @ 2015-04-10 15:11 zhhtao 阅读(211) 评论(0) 推荐(0)
摘要:解释器模式解释器模式 用于分析一个实体的关键元素,并且针对每个元素提供自己的解释或相应动作。解释器模式非常常用,比如PHP的模板引擎 就是非常常见的一种解释器模。代码: '; public function run($str) { ... 阅读全文
posted @ 2015-04-10 15:07 zhhtao 阅读(186) 评论(0) 推荐(0)
摘要:外观模式通过在必需的逻辑和方法的集合前创建简单的外观接口,外观设计模式隐藏了调用对象的复杂性。外观设计模式和建造者模式非常相似,建造者模式一般是简化对象的调用的复杂性,外观模式一般是简化含有很多逻辑步骤和方法调用的复杂性。应用场景设计一个User类,里面有getUser获取用户信息接口在使用getU... 阅读全文
posted @ 2015-04-10 15:05 zhhtao 阅读(267) 评论(0) 推荐(0)
摘要:委托模式通过分配或委托其他对象,委托设计模式能够去除核心对象中的判决和复杂的功能性。应用场景设计了一个cd类,类中有mp3播放模式,和mp4播放模式改进前,使用cd类的播放模式,需要在实例化的类中去判断选择什么方式的播放模式改进后,播放模式当做一个参数传入playList函数中,就自动能找到对应需要... 阅读全文
posted @ 2015-04-10 15:02 zhhtao 阅读(222) 评论(0) 推荐(0)
摘要:什么是装饰器装饰器模式,对已有对象的部分内容或者功能进行调整,但是不需要修改原始对象结构,可以使用装饰器设应用场景设计一个UserInfo类,里面有UserInfo数组,用于存储用户名信息通过addUser来添加用户名getUserList方法将打印出用户名信息现在需要将添加的用户信息变成大写的,我... 阅读全文
posted @ 2015-04-10 15:00 zhhtao 阅读(172) 评论(0) 推荐(0)
摘要:数据访问对象模式数据访问对象模式描述了如何创建透明访问数据源的对象。场景设计设计一个BaseDao基类,实现数据库操作基本的一些query,insert,update方法在实际使用的过程中,继承BaseDao,就可以直接调用基类的数据库操作方法代码:BaseDao 数据库操作基类 db = m... 阅读全文
posted @ 2015-04-10 14:53 zhhtao 阅读(184) 评论(0) 推荐(0)
摘要:什么是建造者模式建造者模式主要是为了消除其它对象复杂的创建过程。设计场景有一个用户的UserInfo类,创建这个类,需要创建用户的姓名,年龄,金钱等信息,才能获得用户具体的信息结果。创建一个UserInfoBuilder 用户建造者类,这个类,将UserInfo复杂的创建姓名,年龄,金钱等操作封装起... 阅读全文
posted @ 2015-04-10 14:50 zhhtao 阅读(151) 评论(0) 推荐(0)
摘要:什么是适配器:适配器设计模式只是将某个对象的接口适配为另一个对象所期望的接口。设计情景:假如我们原始的有一个UserInfo的类,提供用户信息的类,早起设计该类的时候,只实现了一个getUserName获取用户名的方法。我们的MyOldObject类中,将从UserInfo这个类中获取用户信息,并且... 阅读全文
posted @ 2015-04-10 14:44 zhhtao 阅读(158) 评论(0) 推荐(0)
摘要:工厂模式提供获取某个对象实例的一个接口,同时使调用代码避免确定实例化基类的步骤。工厂模式 实际上就是建立一个统一的类实例化的函数接口。统一调用,统一控制。工厂模式是php项目开发中,最常用的设计模式,一般会配合单例模式一起使用,来加载php类库中的类。应用场景我们拥有一个Json类,String类,... 阅读全文
posted @ 2015-04-10 14:33 zhhtao 阅读(179) 评论(0) 推荐(0)
摘要:单例模式通过提供自身共享实例的访问,单例设计模式用于限制特定对象只能被创建一次。使用场景例如数据库实例,一般都会走单例模式。单例模式可以减少类的实例化代码:来源InitPHP框架,先检测类有没被实例化,实例化了就使用已经存放在静态变量中的对象实例,没有则实例化并将对象保存起来。 /** ... 阅读全文
posted @ 2015-04-10 14:28 zhhtao 阅读(141) 评论(0) 推荐(0)