摘要:一、基本错误处理:die(),发生错误之后终止了脚本运行。if(!file_exists("welecome.txt")){ die("File not fount");//自定义显示的错误信息 }else{ $file = fopen("welecome.txt","r"); } ...
阅读全文
摘要:异常通过增加try、catch和throw和创建内置的Exception基类来实现。 1.try代码块可以一直运行,但是如果抛出了异常,代码的剩余部分就会被跳过,程序会跳到catch语句块中执行。catch语句定义了处理发生异常时的处理方法。允许定义要捕捉的异常类型,并且可以捕捉到异常的细节。tr...
阅读全文
摘要:php 抽象类 : abstract其实抽象类和接口类有一部分很像,记得在哪里看见这样一句话,抽象类就把类像的部分抽出来,这句看上去很搞笑,其实它说出了抽象类的真理,抽象类的 作用是,当你发现你的很多类里面用很多方法你不断的在重复写,那你就可以考虑使用抽象类了,你可能会说“我不是可以重写一个类每个公...
阅读全文
摘要:1.php 接口类:interface接口用于声明实现类所必须声明的方法,如,接口通常用来声明API,而不用定义如何实现这个API。接口只能包含方法原型,而不能包含任何完整定义了的方法。类可以使用多个接口,使用引号隔开。接口中的方法必须都被实现了。其实他们的作用很简单,当有很多人一起开发一个项目时,...
阅读全文
摘要:工厂方法(Factory Method) 意图: 【GoF】定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使得一个类的实例化延迟到其子类。 动机: 考虑一个个人事务管理的项目,他可以管理预约对象(appointment)。使用bolg进行信息交流,以后还可以使用不
阅读全文
摘要:反射是什么?它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取的信息以及动态调用对象的方法的功能称为反射API。Php代码反射API概览:class Reflection { }interface Reflector { }clas...
阅读全文
摘要:装饰者模式(Decorator) 意图: 【GoF】动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。 <动机> 组合模式帮助我们聚合组件,而装饰模式则使用类似结构来帮助我们改变具体组件的功能。该模式同样使用组合,但组合是在代码运行时实现的。继承是共享父
阅读全文
摘要:原型模式(Composite) 意图: 【GoF】将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。 动机: 将一组对象组合为像单个对象一样被使用的结构。 组合模式可以很好的聚合和管理许多相似的对象,在客户端用户看来,组合对象和独立对
阅读全文
摘要:global和$GLOBALS[]的区别global和$GLOBALS[]的区别:global在函数产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量$GLOBALS[]确确实实调用是外部的变量,函数内外会始终保持一致!例function t1() {global $var1, $var2...
阅读全文
摘要:命令模式:把一个请求或者操作封装到一个对象中。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。命令模式允许请 求的一方和发送的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收,以及操作是否执行,何时被执行以及是怎么被执 行的。系统支持命令的撤消。
阅读全文
摘要:访问者模式:访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构可以保持不变。 访问者模式适用于数据结构相对未定的系统,它把数据结构和作用于结构上的操作之间的耦合解脱开,使得操作集合可以相对自由的演化。访问者模式使得增加新的操作变的很容易,就是
阅读全文
摘要:观察者模式:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己。 允许一个类观察另一个类的状态,当被观察者的类发生改变时,观察类可以收到通知并作出相应的动作。 <UML> <示例代码> class
阅读全文
摘要:Heredoc技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术。但是现在的一些论坛程序,和部分文章系统,都巧妙的使用heredoc技术,来部分的实现了界面与代码的准分离,phpwind模板就是一个典型的例子。如下:Untitled Docum...
阅读全文
摘要:一 、解析路径:1 获得文件名:basename();给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。如果文件名是以 suffix 结束的,那这一部分也会被去掉。eg:$path="/home/httpd/html/index.php";$file=basename($path,...
阅读全文
摘要:有时候需要把一个对象在网络上传输,为了方便传输,可以把整个对象转化为二进制串,等到达另一端时,再还原为原来的对象,这个过程称之为串行化,就像我们现在想把一辆汽车通过轮船运到美国去,因为汽车的体积比较大,我们可以把汽车拆开成小的部件,然后我们把这些部件通过轮般运到美国去,到了美国再把这些部件组装回汽车...
阅读全文
摘要:关于html元素的disabled,readonly 的详细分析一,先看看这两个属性在效果和使用上的区别READONLY and DISABLED both remove the functionality of the input field, but to different degrees. ...
阅读全文
摘要:【意图】 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原来由于接口不兼容而不能一起工作的那此类可以一起工作【GOF95】 把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。适配类可以根据参数返还一个合适的实例给客户端。
阅读全文
摘要:建造者模式(Builder):将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个 按键,见到MM我只要按对应的键,它就能够用相应的语言说出
阅读全文
摘要:对象柄(将在下面解释,更详细的请见第二章:对象模型的价值)?更好的构造器(统一名字,不允许改变)?析构器?可见度(方法和属性的public公开,protected受保护,private私有)?异常处理(可以选择新的语法try{}catch{}来触发错误)?静态类?映像(动态检查类,方法,属性)?类型...
阅读全文
摘要:值对象模式: 下面是一个给员工发放工资的例子。但是因为PHP5的对象赋值的处理方式,所以$job::salary,、$p1::wallet和$p2::wallet这三个看上去不同的对象实例虽然使用着不同的“标识符”,但事实上,它们全部都指定到同一个实例对象。 //值对象模式 class BadDol
阅读全文