文章分类 -  PHP

上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 38 下一页
摘要:模板模式准备一个抽象类,将部分逻辑以具体方法以及具体构造形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。先制定一个顶级逻辑框架,而将逻辑的细节留给具体的子类去实现。 UML类图: 角色: 抽象模板角色(MakePhon 阅读全文
posted @ 2016-12-27 19:55 天涯海角路 阅读(101) 评论(0) 推荐(0)
摘要:定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板方法模式中会用到抽象模板,它的方法分为两类: 基本方法,也叫做基本操作,是由子类实现的方法,并且在模板方法被调用。 模板方法,可以有一个或多个,一般是一个具体方法,也就是一个框 阅读全文
posted @ 2016-12-27 19:45 天涯海角路 阅读(119) 评论(0) 推荐(0)
摘要:如何防止调用不存在的方法而出错,使用__call魔术重载方法. __call方法原型如下: mixed __call(string $name,array $arguments) 当调用一个不可访问的方法(如未定义,或者不可见时), __call()就会被调用.其中$name参数是要调用的方法名称. 阅读全文
posted @ 2016-12-27 18:28 天涯海角路 阅读(169) 评论(0) 推荐(0)
摘要:PHP 5.3 后新增了 __call 与__callStatic 魔法方法。 __call 当要调用的方法不存在或权限不足时,会自动调用__call 方法。 __callStatic 当调用的静态方法不存在或权限不足时,会自动调用__callStatic方法。 __call($funcname, 阅读全文
posted @ 2016-12-27 18:26 天涯海角路 阅读(104) 评论(0) 推荐(0)
摘要:似曾相识,在php面向对象编程之魔术方法__set,曾经介绍了什么是魔术方法,这一章又介绍一个魔术方法__tostring()。 __toString()是快速获取对象的字符串信息的便捷方式,似乎魔术方法都有一个“自动“的特性,如自动获取,自动打印等,__toString()也不例外,它是在直接输出 阅读全文
posted @ 2016-12-27 18:09 天涯海角路 阅读(109) 评论(0) 推荐(0)
摘要:php的__clone()方法对一个对象实例进行的浅复制,对象内的基本数值类型进行的是传值复制,而对象内的对象型成员变量,如果不重写__clone方法,显式的clone这个对象成员变量的话,这个成员变量就是传引用复制,而不是生成一个新的对象.如第28行注释所说 输出: object(Person)# 阅读全文
posted @ 2016-12-27 18:08 天涯海角路 阅读(131) 评论(0) 推荐(0)
摘要:PHP4面向对象功能一个很大的缺点,是将对象视为另一种数据类型,这使得很多常见的OOP方法无法使用,如设计模式。这些方法依赖于将对象作为引用传递给其他类方法,而不是作为值传递,而按值传递却是PHP的默认做法。幸好,PHP5解决了这个问题,现在所有对象在默认情况下都被视为引用。但是,由于所有对象都被视 阅读全文
posted @ 2016-12-27 18:07 天涯海角路 阅读(223) 评论(0) 推荐(0)
摘要:先看看官方文档的解释__set() is run when writing data to inaccessible properties.__get() is utilized for reading data from inaccessible properties.究竟用中文怎么翻译呢? in 阅读全文
posted @ 2016-12-27 17:52 天涯海角路 阅读(124) 评论(0) 推荐(0)
摘要:PHP 5 中的对象比较要比 PHP 4 中复杂,所期望的结果更符合一个面向对象语言。 当使用比较运算符(==)比较两个对象变量时,比较的原则是:如果两个对象的属性和属性值 都相等,而且两个对象是同一个类的实例,那么这两个对象变量相等。 而如果使用全等运算符( ),这两个对象变量一定要指向某个类的同 阅读全文
posted @ 2016-12-27 17:31 天涯海角路 阅读(104) 评论(0) 推荐(0)
摘要:不使用后期静态绑定 [php] view plain copy <?php class A { public static function who () { echo __CLASS__ ; } public static function test () { self :: who (); } 阅读全文
posted @ 2016-12-27 17:30 天涯海角路 阅读(106) 评论(0) 推荐(0)
摘要:在此我想讲一讲后期静态绑,我想讲self::与static进行比较说明。 官方文档上是这样定义的: 后期绑定”的意思是说,static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为”静态绑定”,因为它可以用于(但不限于)静态方法的调用。 在此我想用官方文档上的一个例子来 阅读全文
posted @ 2016-12-27 17:29 天涯海角路 阅读(132) 评论(0) 推荐(0)
摘要:自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类。 虽然也可以调用非静态方法,但是不会在运行时绑定。 static 不再只是简单的静态修饰关键字。而是可以像下面这样调用类的静态方法,非静态方法,为什么静态非静态要分开说呢,因为调用的效果是不一样的 阅读全文
posted @ 2016-12-27 17:28 天涯海角路 阅读(230) 评论(0) 推荐(0)
摘要:从php5.3开始,php增加了一个叫后期绑定的功能,用于在继承范围内引用静态调用的类 该功能从语言内部角度考虑北命名为“后期静态绑定”;“后期绑定”意思说:static::不再被解析为定义当前方法所在的类,而是在实际运行时计算的,也可以成为“静态绑定”;因为他可以用于(但不限于静态方法的调用)。 阅读全文
posted @ 2016-12-27 17:27 天涯海角路 阅读(115) 评论(0) 推荐(0)
摘要:const一般用于类的成员定义 一经定义不允许修改。define不能用于类的成员定义,一般用于定义全局常量。 const不能用于条件语句。 const采用普通常量名称 define可以采用表达式作名称。 const只能接受静态的标量 ,而define可以采用任何表达式。 const定义常量大小写敏感 阅读全文
posted @ 2016-12-27 17:01 天涯海角路 阅读(90) 评论(0) 推荐(0)
摘要:static关键字是在类中描述成员属性和成员方法是静态的;静态的成员好 处在哪里呢?前面我们声明了“Person”的人类,在“Person”这个类里如果我们加上一个“人所属国家”的属性,这样用“Person”这个类实 例化出几百个或者更多个实例对象,每个对象里面就都有“所属国家”的属性了,如果开发的 阅读全文
posted @ 2016-12-27 16:47 天涯海角路 阅读(187) 评论(0) 推荐(0)
摘要:自己从网络整理出来VR开发环境搭建,请尊重原创,转载请注明。 (1)Google VR(Cardboard与Daydream) (2)HTC Vive (3)Oculus (4)Hololens 第一部分:关于Google VR 开发平台的搭建 一.Cardboard 1. 到官网下载相关包文件(建 阅读全文
posted @ 2016-12-27 15:31 天涯海角路 阅读(1948) 评论(0) 推荐(0)
摘要:【问】在php中定义常量时,const与define的区别? 【答】使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数。另外const在编译时要比define快很多。 (1).const用于类成员变量的定义,一经定义,不可修改。define不可用于类成员变量的定 阅读全文
posted @ 2016-12-27 15:09 天涯海角路 阅读(92) 评论(0) 推荐(0)
摘要:学习php的朋友都知道php本身是没有函数重载这一说的更没说像java,c那样使用方法,但如果我们深入了解一下会发现要吧在php中使用func_get_args()和func_num_args()函数实现函数重载哦,下面来举两个函数重载例子,希望能给各位带来一些帮助。 这两个函数实现函数的重载!! 阅读全文
posted @ 2016-12-26 22:25 天涯海角路 阅读(285) 评论(0) 推荐(0)
摘要:因为PHP是弱类型的语言, 所以在方法的参数中本身就可以接收不同类型的数据,又因为PHP的方法可以接收不定个数的参数,所以通过传递不同个数的参数调用不相同方法名的不同方法也是不成立的,所以php是不能重载的。 虽然说在PHP里面不能定义同名的方法, 但是在父子关系的两个类中,我们可以在子类中定义和父 阅读全文
posted @ 2016-12-26 22:18 天涯海角路 阅读(302) 评论(0) 推荐(0)
摘要:摘要: PHP因为无法根据参数不同实现多态重载,所以在类继承时重写父类方法的规则会有一些不同于C/C++ 这里做下整理 可能我们日常工作中很少用到这块知识点,但我还是喜欢把遇到的却不清楚的知识点摸清 PHP的类方法重写规则 1、final修饰的类方法不可被子类重写 final修饰的类方法不可被子类重 阅读全文
posted @ 2016-12-26 22:16 天涯海角路 阅读(423) 评论(0) 推荐(0)

上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 38 下一页