- 博客(105)
- 资源 (3)
- 收藏
- 关注
原创 Centos 配置mailx使用外部smtp发送邮件
Centos 配置mailx使用外部smtp发送邮件安装mailxyum install mailx配置mailx笔者推荐163邮箱,当然,QQ邮箱也是可以的,PS:记得要进邮箱打开SMTPvi /etc/mail.rc在文件的末尾加入下面代码,相应帐号密码填写自己的帐号密码set from="发件人名称 <xxx@163.com>"set smtp=smtp.163.comset smtp-a
2016-07-01 19:45:58
16520
5
原创 Nginx安装lua-nginx-module模块
Nginx安装lua-nginx-module模块ngx_lua_module 是一个nginx http模块,它把 lua 解析器内嵌到 nginx,用来解析并执行lua 语言编写的网页后台脚本特性很牛叉,可自行百度查看,这里主要是示范一下,如何在Nginx下安装lua-nginx-module模块当然,如果你之前没有安装过Nginx,而且嫌安装麻烦,可直接下载openresty安装简单快捷,ht
2016-06-23 16:37:21
35714
3
原创 PHP下C扩展开发
PHP下C扩展开发首先保证各位已经正确安装了PHP(笔者安装的PHP4.4.45版本)下载PHP源码(笔者下载的是5.4.45版本 :https://github.com/captaim/php-src/archive/PHP-5.4.45.zip)解压 进入解压后的源码的ext目录中(此目录存放的都是PHP的扩展,入openssl)/usr/local/src/php-5.4.45/ext
2016-05-29 10:07:40
672
原创 Centos7下LNMP安装log4php,phpunit
安装log4php参考:http://logging.apache.org/log4php/download.html安装phpunit参考:http://jingyan.baidu.com/article/215817f783a3dd1eda142323.html
2016-05-20 15:10:33
849
转载 Yii框架执行流程
转载地址:http://www.cnblogs.com/bluecobra/archive/2011/11/30/2269207.html一 目录文件 |-framework 框架核心库 |--base 底层类库文件夹,包含CApplication(应用类,负责全局的用户请求处理,它管理的应用组件集,将提供特定功能给整个应用程序),C
2016-04-24 21:51:01
2346
转载 PHP Reflection API详解
转载地址:http://www.jb51.net/article/65897.htm这篇文章主要介绍了PHP Reflection API详解,本文讲解了Reflection类、ReflectionException类、ReflectionFunction类、ReflectionParameter类、ReflectionClass类、ReflectionMethod类等内容,需要的
2016-03-21 22:30:27
594
原创 文章标题
使用php实现hash链表<?phpclass HashTable{private $buckets;private $size=10;public function __construct(){ $this->buckets = new SplFixedArray($this->size);}private function hashfunc($key){ $strlen
2016-02-23 22:17:10
315
原创 Redis替代文件存储session
php默认使用文件存储session,如果并发量大,效率会非常低。而redis对高并发的支持非常好,可以利用redis替换文件来存储session。php存数session主要用到了session_set_save_handler.在使用session_set_save_handler之前,先把php.ini配置文件的session.save_hadler选项设置为user<?phpclass S
2016-02-21 20:48:47
1066
原创 Redis消息队列发布微博
一些基于用户创造内容的应用中(SNS,微博),很容易出现一秒钟上万个用户同时发布消息的情况。这个时候,很容易出现MySQL的“too many connections”的情况,增大MySQL的max_connections只是治标不治本的方法,这个时候,我们就可以考虑使用reids的list来实现消息队列使用redis的list类型作为消息队列,把用户发布的消息暂时存储在消息队列中,接着使用一个cr
2016-02-21 18:43:33
1175
转载 消息队列技术终结者(一)—通俗深刻地认识JMS(即Java Message Service)
转载地址:http://blog.csdn.net/gaohuanjie/article/details/42001243JMS很早就有,网上更是如此,但是大多总结的不太全面不太具体,在现有学习资源基础上结合自己的体悟,现重新总结一下: JMS全称为Java Message Service(即Java 消息服务),它是J2EE技术规范之一(它属于Java平台上有关
2016-02-01 14:48:53
1555
转载 PHP模拟守护进程
转载地址:http://www.cnblogs.com/birdman/archive/2011/08/27/2155837.html守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件,像C,python,java等语言都支持守护进程,到目前为止,PHP暂不支持守护进程,浏
2016-01-28 10:14:39
658
原创 设计模式—命令模式
命令模式设计模式里面,命令模式也是遵循SRP(Single Responsibility Principle)原则。命令模式分离了“命令的请求者”与“命令的实现者”。例如我们生活中最典型的餐馆中的“顾客”,“服务员”,“厨师”三种角色:顾客只负责点菜,传递给服务员服务员通知厨师炒菜厨师炒菜上面的例子,就是典型的命令模式。代码如下:<?php/*** 厨师类,命令的接受者与执行者* Cla
2016-01-26 21:56:46
383
原创 xmapp下安装log4php,phpunit,redis扩展
xmapp下安装log4php,phpunit,redis扩展(1)安装log4php启动xamp点shell执行命令:pear upgrade-allpear update-channelsTo install from the Apache log4php PEAR channel:pear channel-discover pear.apache.org/log4phppear install
2016-01-16 17:25:17
869
转载 PHP安装与使用VLD查看opcode代码【PHP安装第三方扩展的方法】
转载地址:http://blog.csdn.net/21aspnet/article/details/7002644 需要分析PHP代码的性能,或者说实现同样功能的代码到底哪个更好呢?或者说想知道底层的实现可以使用VLD查看opcode下载与安装VLD# wget http://pecl.php.net/get/vld-0.11.2.tgz# tar zxvf vld-0.1
2015-12-14 21:36:05
331
原创 装饰模式实例与UML
<?phpabstract class Tile{ abstract function getWealthFactor();}class Plains extends Tile{ private $wealthfactor=2; function getWealthFactor(){ return $this->wealthfactor; }
2015-12-02 00:03:09
1098
原创 责任链模式实例
<?phpclass Board{ protected $power = 1; protected $top = 'Admin'; public function process($lev){ if($lev$this->power){ echo '删除帖子'; }else{ $top =
2015-11-29 22:56:01
476
原创 策略模式实例与UML
<?phpinterface FlyBehavior{ public function fly();}class FlyWithWings implements FlyBehavior{ public function fly(){ echo "Fly With Wings ".PHP_EOL; }}class FlyWithNo implem
2015-11-29 21:44:41
1008
转载 mysql 性能优化方案 (转)
转载地址:http://blog.csdn.net/jinxingfeng_cn/article/details/16878295网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是
2015-11-25 19:40:08
268
原创 观察者模式实例与UML
<?php//观察者模式class User implements SplSubject{ public $lognum; public $hobby; protected $observers = []; public function __construct($hobby){ $this->lognum = rand(1,10);
2015-11-23 22:32:48
1817
原创 外观设计模式
外观模式是一种十分简单的概念,它只是为一个分层或者子系统创建一个单一的入口。这会带来许多好处。首先,有助于分离项目中的不同部分,其次,对于客户端的开发者来说,访问代码变得简洁。另外,由于在一个地方调用子系统,减少了出错的可能性。<?php/** * 代码示例: 获取CD对象,对其所有属性应用大写形式,并且创建一个要提交给Web服务的,格式完整的XML文档。 */class
2015-11-22 23:05:54
314
转载 YII 路径总结
转载地址:http://hudeyong926.iteye.com/blog/1283125如果是 // 就会默认去调 protected/views/layouts,//代表 绝对路径其实 就是 绝对和相对的关系 /代表相对路径,如module/user下的layout用单斜杠的话默认会先找当前已经激活的模块底下的view,若当前未有激活的模块则从系统根目录下开始找,双斜
2015-11-22 15:31:09
313
转载 yii执行流程
转载地址:http://www.cnblogs.com/bluecobra/archive/2011/11/30/2269207.html一 目录文件 |-framework 框架核心库 |--base 底层类库文件夹,包含CApplication(应用类,负责全局的用户请求处理,它管理的应用组件集,将提供特定功能给整个应用程序),CCo
2015-11-20 23:46:33
236
转载 装饰者模式
转载地址:http://blog.csdn.net/wzllai/article/details/7835904扩展一个类一般可以使用继承或者组合的形式。使用继承的方式扩展时,随着基类子类的增多,以及子类的子类出现,继而出现了代码的无限制膨胀,增加了系统的复杂性。而使用装饰者模式既继承又引用,能动态扩展类的一些功能,减少了继承数量。装饰纸UML类图:php代码实例(出自ph
2015-11-18 22:35:23
261
转载 组合模式
转载地址:http://blog.csdn.net/phenixsoul/article/details/8480980这个模式理解起来会有些歧义,特别是某些书上面那些难懂的阐述。先来说说组合模式的几个特点:1、必须存在不可分割基本元素。2、组合后的物体可以被组合。举个通俗的例子,原子是化学反应的基本微粒,它在化学反应中不可分割。现在有 C(碳)、H(氢)、O(
2015-11-17 23:23:53
243
原创 单例模式与抽象工厂模式结合实例
abstract class ApptEncoder{ abstract function encode();}class BloggsApptEncoder extends ApptEncoder{ function encode(){ return 'this is bloggs object'; }}class MegaApptEncode
2015-11-15 22:24:39
2204
原创 原型模式---抽象工厂模式的变形(兄弟)
class sea{};class EarthSea extends sea{};class MarsSea extends sea{};class Plains{};class EarthPlains extends Plains{};class MarsPlains extends Plains{};class Forest{};class EarthForest exten
2015-11-15 21:25:34
346
原创 抽象工厂模式实例与讲解
<?php/** * Created by PhpStorm. * User: captain * Date: 15/11/15 * Time: 下午4:11 */abstract class ApptEncoder{ abstract function encode();}class BloggsApptEncoder extends ApptEncoder{
2015-11-15 16:49:40
978
转载 创建型模式:抽象工厂模式(Abstract Factory)--分析优缺点
转载地址:http://blog.csdn.net/lingyun_blog/article/details/41479563追MM少不了请吃饭了,麦当劳的套餐和肯德基的套餐都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“两个B套餐”就行了。麦当劳和肯德基就是B套餐的Abstract Factory, B套餐里含有汉堡, 鸡翅和饮料. 麦当劳或
2015-11-15 10:29:29
440
原创 工厂方法模式实例与讲解
abstract class ApptEncoder{ abstract function encode();}class BloggsApptEncoder extends ApptEncoder{ function encode(){ return 'this is bloggs object'; }}class MegaApptEncode
2015-11-14 18:17:11
333
转载 创建型模式:工厂方法模式(Factory Method)--分析优缺点
转载地址:http://blog.csdn.net/lingyun_blog/article/details/41450085请MM去麦当劳吃汉堡,不同的MM有不同的口味,要每个都记住是一件烦人的事情,我一般采用Factory Method模式,带着MM到服务员那儿,说“要一个汉堡”,具体要什么样的汉堡呢,让MM直接跟服务员说就行了。定义 核心工厂类不再负责所
2015-11-14 18:05:26
2649
原创 简单工厂模式实例与讲解
abstract class ApptEncoder{ abstract function encode();}class BloggsApptEncoder extends ApptEncoder{ function encode(){ return 'this is bloggs object'; }}class MegaApptEncode
2015-11-14 17:35:29
310
转载 创建型设计模式:简单工厂模式--分析优缺点
转载地址:http://blog.csdn.net/lingyun_blog/article/details/41444217请MM去麦当劳,各个美女都有各自的爱好,到麦当劳后她们喜欢吃什么直接去点就行了,麦当劳就是生产各种食物的工厂,这时候GG不用自己动手,也可以请这么多美女吃饭,所要做的就是买单。定义 简单工厂属于创建型模式,又叫做静态工厂方法(Sta
2015-11-14 17:09:05
1098
原创 单例模式--实例讲解
class Preferences { private $props = array(); private static $instance;private function __construct(){}public static function getInstance(){ if(empty(self::$instance)){ self:
2015-11-14 13:02:26
294
转载 创建型模式:单例模式(SINGLETON)
转载地址:http://blog.csdn.net/lingyun_blog/article/details/41518145俺有6个漂亮的老婆,她们的老公都是我,我就是我们家里的老公Singleton,她们只要说道“老公”,都是指的同一个人,那就是我(刚才做了个梦啦,哪有这么好的事)定义 有单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供
2015-11-14 12:27:37
235
原创 抽象类传递对象
abstract class Employee{ protected $name; function __construct($name){ $this->name = $name; } abstract function fire();}class Minion extends Employee{ function fire(){
2015-11-14 11:59:12
418
原创 抽象基类定义接口
将实例化对象独立出来abstract class ParamHandler { protected $source = ''; protected $params = array(); function __construct($source){ $this->source = $source; } function addPara
2015-11-14 11:24:40
304
转载 使用PHP的反射Reflection获取对象信息
转载地址:http://www.nowamagic.net/librarys/veda/detail/909PHP5添加了一项新的功能:Reflection。这个功能使得程序员可以reverse-engineer class, interface,function,method and extension。通过PHP代码,就可以得到某object的所有信息,并且可以和它交互
2015-11-09 23:01:23
2585
转载 MySQL定期分析检查与优化表
转载地址:http://www.cnblogs.com/littlehb/archive/2013/05/08/3067175.html定期分析表 ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] 本语句用于分析和存储表的关键字分布。在分析期间,使用一个读取锁定对表进行锁定。这对于MyISAM,
2015-10-26 21:58:47
481
原创 查看索引的使用情况(show status like 'Handler_read%')
mysql> show status like 'Handler_read%';+-----------------------+-------+| Variable_name | Value |+-----------------------+-------+| Handler_read_first | 0 || Handler_read_key
2015-10-26 21:22:40
5205
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人