自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 php 大文件下载

在做运营后台的时候,不免会收到运营导出数据的需求,我们一般先从db里发数据取出来,做一些简单的数据。让后echo到server,再到浏览器。所以一般可能会这样class ConcreteController { public function actionDownload() { $request = new Request(); $model =

2015-03-31 14:32:17 486

原创 php 分页总结

每天用php做的最多的事差不多就是从db里取数据,展示数据了,有时以网页的形式(分页)展示,有时以csv格式导出数据。今天就对分页去数据做个总结。根Modelclass RModel { /** * @param $page array 分页对象 * @param $order string order by 排序 */ public fu

2015-03-31 13:51:25 381

原创 php 把数组处理成csv格式

把数组转成csv格式的文件,以及从csv格式的文件读入都有php的内置函数支持fgetcsv/fputcsv读入一个csv格式的字符串也有str_getcsv可以办到,那么我想把一个数组变成csv格式的字符串呢?php里没有这样的函数。参考csv的数据格式定义,我们可以自己简单写个函数实现这个功能。<?phpclass CsvHelper { /** * 转义成cs

2015-03-31 13:17:32 1582

原创 php/lua 正则匹配多行 单行注释

<?php$s = '/*aaaasss*/*/';preg_match('@/\*.*?\*/@s', $s, $match);var_dump($match);输出array(1) { [0]=> string(13) "/*aaaasss*/"}php正则详细资粮参考地址

2015-03-30 14:24:05 4477

原创 lua环境搭建

wget http://www.lua.org/ftp/lua-5.3.0.tar.gz tar xf lua-5.3.0.tar.gzcd lua-5.3.0make linuxsudo make linux installtestlua -e "print('hello')"hello.luaprint("hello lua.\n")lua hello.lua

2015-03-27 17:23:47 953

原创 利用array_walk做html编码处理

<?phpclass A { public $t1 = '1212'; public $t2 = '2222';}class Html { // public static function encode($txt, $charset='UTF-8') { // return htmlspecialchars($text,ENT_QUOTES,$ch

2015-03-23 22:32:08 403

原创 适配器

类适配<?phpinterface Target { public function hello(); public function world();}class Adaptee { public function greet() { print_ln(__METHOD__); } public function w

2015-03-19 14:45:34 217

原创 访问者

叙述示例<?php/*** 对一组(不是一个,是一组)对象提供一种算法,算法可能会变,抽象出算法* 使得更换算法和新增算法可扩展* 需要每个访问者对每一个元素提供一个接口,对该元素提供一种访问算法,当新增元素时,违背了开闭原则* 如果元素种类不变,只对算法扩展,则会好点*/interface Visitor { public function visitG

2015-03-19 14:43:30 293

原创 观察者

叙述示例<?php/** * 这一模式的概念是SplSubject类维护了一个特定状态,当这个状态发生变化时,它就会调用notify()方法。 * 调用notify()方法时,所有之前使用attach()方法注册的SplObserver实例的update方法都会被调用。 * */ /*interface SplSubject{ public func

2015-03-19 14:42:07 314

原创 职责链

叙述示例<?php/*** 职责链的组织可写在配置文件里* 每个职责类可对同一个请求选择性的处理,之后可交由下一个类处理,也可终止* 抽象出职责类 Handler,每个具体的职责类处理各自的事情*/abstract class Handler { protected $_handlerName = null; protected $_nextHand

2015-03-19 14:41:57 220

原创 策略

叙述示例<?php/*** 抽象算法,算法的选择交给Client*/interface TravelStrategy { public function travelAlgorithm();}class AirPlanelStrategy implements TravelStrategy { public function travelAlgor

2015-03-19 14:41:16 308

原创 装饰器

叙述待续示例代码<?phpabstract class Component { public abstract function execute();}class ConcerteComponent extends Component { public function execute() { // do something ..

2015-03-19 14:41:02 280

原创 模板

叙述示例<?php/** * 模板方法模式: * 在抽象类中定义一个final 的模板方法,定义一个业务逻辑,使其不能被子类修改 * 具体的每个操作的方法声明为抽象方法,每个子类根据自己的业务定义自己的操作 * 钩子用来让子类控制父类的一部分逻辑 *//** * 抽象类 */abstract class AbstractBank{ private

2015-03-19 14:39:06 280

原创 外观

叙述示例<?php/*** 外观类,封装子系统对外提供的接口* 只是封装接口,尽量不要在这个类里添加子系统的行为* 这里只是组合子系统的方法,拼接成一个完善的操作,以简化client对子系统的访问* 降低子系统和client之间的耦合*/class SwitchFacade { private $_light = null;

2015-03-19 14:38:30 255

原创 命令

叙述示例<?php/*** 抽象出命令,简化命令调用类的设计,并且命令本身可扩展* 与中介模式的区别是,中介模式是多对多对象通信的抽象,把多对多的关系转换成一对多,更容易维护* 并且减少了对象的数目* 命令模式是对调用对象方法的抽象,对命令的抽象,对命令的接收者没有改变,简化了命令的发出者的设计* 命令的发出者只对命令接口进行设计*/interface ICo

2015-03-19 14:37:56 271

原创 创建者

叙述示例<?php/*** 掌握生产步骤,生产工序(需要哪几步)*/class Director { public static function buildFood(Builder $builer) { $builer->hamburger(); $builer->drink(); return $builer

2015-03-19 14:36:49 348

原创 代理

叙述示例<?phpinterface Weater { public function request($city); public function display($city); public function isValidCity($city);}class RealWeater implements Weater { prote

2015-03-19 14:34:39 256

原创 MySQL Error 1093(HY000)

mysql> delete mco.*  from  mcotest as mco  where mco.id in( select mo.id from mcotest as mo inner join mcotest as mo2 on mo.aid=mo2.appid and mo.idERROR 2006 (HY000): MySQL server has gone awayNo

2015-03-19 14:30:19 649

原创 mysql删除重复记录

1,子查询delete from  m_sens_dict where id  not in ( select dup.id from ( select id from m_sens_dict group by name ) as dup ) ;2,左联接delete msd.*  from  m_sens_dict as msd  left  join ( select

2015-03-19 14:28:24 344

原创 autoload与全局变量

当使用autoload方法时,要格外注意变量的作用域。由于新文件是在_autoload函数里进行include,所以include 的“新文件”中的“全局变量”就成了_autoload函数的局部变量,只能在_autoload函数作用域内引用。在某种情况下可能会导致一些奇怪的现象。示例:autoload.php<?phpfunction __autoload($clas

2015-03-19 14:27:29 568

原创 两则预防crontab重复执行任务策略

案例分析前台异步上传文件到云端后台cron*/10 * * * * /usr/local/bin/php /path/to/upload.php >> /tmp/apkqueue.log有时候上传一个文件到云端会很耗时,一个cron还没有跑完,下一个cron又开启了,并且一个文件可能被大于一个cron在同时上传。如果一个脚本的执行时间 比cron的间隔

2015-03-19 14:26:09 2637

原创 mysql导出数据成csv格式

mysql ..  -e "set names gbk; select  .... ; "  | sed -e 's/"/""/g' -e 's/\([^\t]*\)/"\1"/g' -e 's/\t/    ,/g' -e 's/\\t/\t/g' > export.csv

2015-03-19 11:48:44 570

空空如也

空空如也

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

TA关注的人

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