一.封装
目的:让类更安全
做法:成员变量变为私有的,通过方法间接操作成员变量,在方法里面加限制条件
二.继承
概念:子类可以继承父类的一切
方法重写:在子类里面对父类进行方法重写
特点:单继承:一个子类可以有多个父类,一个父类可以派生出多个子类
override:方法重写
overload:重载,编辑多态
三.多态(运行多态)
概念:父类引用子类实例,由于子类里面对父类的方法进行重写,父类引用在调用该方法的时候表现出的不同状态
条件:
1必须发生在集成下
2必须重写父类方法
3父类引用调用方法
如果一个方法需要一个父类参数,可以给一个子类对象
静态
普通成员
普通成员是属于对象的
静态成员
静态成员属于类的
关键字:static
self关键字:在类里面代表该类
在静态方法里面不能调用普通成员
在普通方法里面能够调用静态成员
接口
极度抽象的类
接口里面不能包含成员变量,只能包含成员方法
成员方法可以没有函数体
接口关键字:interface
实现接口的类,必须实现接口里面的所有方法
加载类:
代码如下 | 复制代码 |
include("./Ren.class.php"); include"./Ren.class.php"; require("./Ren.class.php"); require"./Ren.class.php"; require_once("./Ren.class.php"); require_once"./Ren.class.php"; |
自动加载类的方法
所有的类文件要放在同一个目录下
所有类文件的命名规则一致
小编推荐的这篇文章介绍了php基于ob_start(ob_gzhandler)实现网页压缩功能的方法,非常实用,有兴趣的同学可以看看。PHP生成网页后传送给浏览器显示 ,页面的打开速度除了与用户的网速有关,往往也跟页面的大小有很关系,我们可以从网 页大小着手,以提高网页的响应速度。
下面的代码是一个压缩网页的例子,我们利用ob_gzip函数,使用ob_start将输出内容压缩后放到“缓冲区”后再输出 。
PHP代码
代码如下 | 复制代码 |
//启用压缩 if(function_exists('ob_gzip')) { ob_start('ob_gzip'); } //准备一些待压缩的内容 for($i=0;$i<100;$i++) { echo('这里是测试内容 } //输出压缩成果 ob_end_flush(); //这是ob_gzip压缩函数 functionob_gzip ($content) { if( !headers_sent() &&extension_loaded("zlib") &&strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip")){ $content= gzencode($content,9); header ("Content- Encoding: gzip"); header ("Vary: Accept- Encoding"); header ("Content- Length: ".strlen($content)); } return($content) ; } |
到底作用有 多大,在这里我就上面的代码进行了测试。
压缩前:
压缩后: