随笔分类 - PHP
摘要:一、前置工作 1.php安装 brew install php71 brew install php71 brew link --force php@7.1 brew link --force php@7.1 上述操作完成后,就已经安装好了php7.1版本,同时可以通过pecl install xx
阅读全文
摘要:写个命令,让ssh服务器便捷点#!/usr/bin/expectset type [lindex $argv 0]if {$type == "server"} { set ip "xxxx" set name "xxxx" set passwd "xxxx"} elseif {$t...
阅读全文
摘要:什么是观察者模式?观察者模式定义了对象之间一对多的关系。观察者模式中有主题(即可观察者)和观察者。主题用一个共同的接口来通知观察者,主题不知道观察者的细节,只知道观察者实现了主题的接口。普遍的观察者模式中的推的方式更适合点,下面我们就写一个推的例子,天气站提供一个接口,当天气变化时,会将数据通知给各...
阅读全文
摘要:策略模式,什么是策略模式,定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。下面我们就用鸭子来诠释一下策略模式,鸭子有两种行为呱呱叫和飞,但是并不是所有的鸭子都会呱呱叫和飞,所以我们把这两个赋予变化的行为提取出来。flyBehavior->fly(); ...
阅读全文
摘要:php5.5新增了一个新的数组函数,感觉挺使用的,低版本的实现按照如下实现 1 if(!function_exists('array_column')){ 2 function array_column($input, $columnKey, $indexKey=null){ 3 ...
阅读全文
摘要:一、free total used free shared buffers cachedMem: 65928660 26432972 39495688 0 486724 230587...
阅读全文
摘要:1.合理的使用注释注释为:/*…………*/注释有以下几种情况:1) 版本、版权声明。2) 函数接口说明。3) 重要的代码或者段落显示。注释注意:1) 注释是对代码的解释,不是对文档。注释不可喧宾夺主,注释不宜太多,花样也要少。2) 如果代码本身很清楚,就不比加注释。3) 边写代码边注释,在修改代码的同时修改注释,保证注释的一致性。4) 没用的注释要及时删除。5) 注释应该准确、易懂,防止出现二义性。6) 尽量避免在注释中使用不常用的缩写。7) 注释的位置要与所描述的代码相邻,可以放在代码的上面或右侧,不要将其放在下面。2.程序中的{}要对其程序中分解符“{”和“}”应占据一行并且位于同一列,同
阅读全文
摘要:一、 抽象类abstract class1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类。2 .抽象类不能被直接实例化。抽象类中只定义(或部分实现)子类需要的方法。子类可以通过继承抽象类并通过实现抽象类中的所有抽象方法,使抽象类具体化。3 .如果子类需要实例化,前提是它实现了抽象类中的所有抽象方法。如果子类没有全部实现抽象类中的所有抽象方法,那么该子类也是一个抽象类,必须在 class 前面加上 abstract 关键字,并且不能被实例化。 abstract class A ...
阅读全文
摘要:命令模式:将一个请求封装为一个对象,从而你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销操作。命令类:1.命令角色:声明了一个给所有具体命令类的抽象接口。这是一个抽象角色。2.具体命令角色:定义一个接受者和行为之间的弱耦合;实现execute方法,负责调用接受的相应操作。execute()方法通常叫做执行方法3.客户角色:创建一个具体命令对象并确定其接受者。4.请求者角色:负责调用命令对象执行请求,相关的方法叫做行动方法。5.接受者角色:负责具体实施和执行一个请求。作用:1.抽象出待执行的动作以参数化对象。2.在不同的时刻指定、排列和执行请求。3.支持取消操作4.支持
阅读全文
摘要:观察者模式:定义对象间一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。观察者类:1.抽象主题角色:主题角色将所有对观察者对象的引用保存在一个集合中,每个主题可以任意多个观察者。抽象主题提供了增加和删除观察者对象的接口。2.抽象观察者角色:为所有的具体观察者定义一个接口,在观察的主题发生改变时更新自己3.具体主题角色:存储相关状态到具体观察者对象,当具体主题的内部状态发生改变时,给所有登记过的观察者发出通知。具体主题角色通常用一个具体子类实现。4.具体观察者角色:存储一个具体主题对象,存储相关状态,实现抽象观察者角色所要求的更新接口,以使得其自身状态和主
阅读全文
摘要:工厂模式:由工厂类根据参数来决定创建出哪一种产片类的实例工厂类:一个专门用来创建其他对象的方法类。即按需分配,传入参数进行选择,返回具体的类作用:对象创建的封装、简化创建对象的操作,即调用工厂类的一个方法来得到需要的类补充:1.主要角色:抽象产品(Product)、具体产品(Concrete Product)、抽象工厂角色(Creator)2.优缺点 优点:工厂方法模式可以允许系统在不修改工厂角色的情况下引进心产品 缺点:客户可能仅仅为了创建一个特定的Concrete Product对象,就不得不创建一个Creator子类3.适用性 当一个类不知道它所必须创建的对象的时候 当一个类希望...
阅读全文
摘要:单例模式:简单的说,一个对象只负责一个特定的任务。单例类: 1.构造函数需要标记为private,单例类不能再其他类中实例化,只能被其自身实例化 2.拥有一个保存类的实例静态成员变量 3.拥有一个访问这个实例的公共的静态方法。[常用getInstance()方法进行实例化单例类,通过instanceof操作符可以检测到此类是否已经被实例化] 注:需要创建__clone()方法防治对象被复制作用: 1.php的应用主要用于数据库,所以一个应用中会存在大量的数据库操作,使用单例模式,则可以避免大量new操作消耗的资源 2.如果系统中需要一个类来全局控制某些配置信息,那么使用单例模式可以很...
阅读全文
摘要:以前对面向对象仅限于死记硬背型,工作这么久了,回过头来看又是一翻体悟,供大家看看。1.finalfinal:php5新增一个final关键字。如果父类中的方法被声明为final,则子类无法覆盖该方法;如果一个类被声明final,则不能被继承。class BaseClass{ public function test(){ ehco "test";} final public function moreTest(){ echo "moretest";}}class ChildClass extends BaseClass{ public functionm
阅读全文
摘要:apc定义:apc是一个开放自由的php opcode缓存。它的目标是提供一个自由、开放和健全的框架,用于缓存和优化php中间代码。apc常用函数:1.apc_clear_cache() 清楚apc缓存内容2.apc_define_constants(string key,array constants,[,bool case_sensitive]) 将数组constants以常量加入缓存3.apc_load_constants(string key) 取出常量缓存4.apc_store(string key,mixed var [, int ttl]) 在缓存中保存数据5.apc_fet..
阅读全文
摘要:SetFilter("cat_id",array(2));//仅在id为1、3、7的子论坛中搜索$cl->SetFilter("forum_id",array(1,3,7));//范围筛选//筛选发布时间为今天,参数为int时间戳$cl->SetFilterRange("starttime",123,124);//筛选价格$cl->SetFilterRange("price",10.0,99.9);// 分组//按照item_id分组,并且按照orderdesc排序$cl->SetGroup
阅读全文
摘要:在之前工作的时候都未注重自己的命名规范,现在根据驼峰命名严格要求自己:相关的定义如下基本概念骆 驼式命名法(又称驼峰命名法),正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。程序员们为了自己的代码能 更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。例如:有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname、my_name、MyName或者myName。这样的命名规则不适合所有程序员阅读,而利用驼峰命名 法来表示,可以增加程序可读性。例如,下面是分别用骆驼式命名法和下划线法命
阅读全文
摘要:说说mysql_connect和mysql_pconnect的区别,这俩函数用法上差不多,网上有说应该用pconnect的,pconnect是个 好东西;也有视pconnect如洪水猛兽的,坚决不让用pconnect的,也有态度暧昧不清的。那这个东西到底如何呢? 永久链接并不是说,服务器打开了一个连接,然后所有的人都共享这个链接。永久连接一样是每个客户端来就打开一个连接,有200人访问就有200个连接。其 实mysql_pconnect()本身并没有做太多的处理, 它唯一做的只是在php运行结束后不主动close掉mysql的连接. 在php经cgi方式运行时pconnect和connec..
阅读全文

浙公网安备 33010602011771号