面向对象的其他知识
__tostring() 方法
能够直接输出对象
例:
<?php class Ren { public $name; function Run() { echo "跑"; } function __tostring() { return "name变量代表的是人员名称,Run方法是一个跑的方法"; } } $r = new Ren(); echo $r; <?>
克隆对象 关键字 clone
例:
<?php class Ren { public $name; function Run() { echo "跑"; } function __tostring() { return "name变量代表的是人员名称,Run方法是一个跑的方法"; } //克隆对象的时候自动调用的方法 function __clone() { $this->name = "李四"; &this代表副本,复制完的对象 } } $r = new Ren(); $r->name = "张三"; $r1 = clone $r; var_dump($r1); var_dump($r); ?>
加载类
新建一个PHP格式的文件,保存,起名
起名的规范 类名.class.php
建好后里面只有PHP页面,写开头<?php 内容 结尾可以省略
使用的方式:
1、 include(文件的路径); 路径一般这样写 ( "./类名.class.php");
就是把里面内容引用到当前页面了
2、 include空格"./类名.class.php";
这种方式也可以
3、 require ("./类名.class.php");
引用的意思
4、 require空格 "./类名.class.php";
也可以
5、require__once("./类名.class.php");
请求一次
6、require__once空格"./类名.class.php";
也可以
以上几种不仅可以引用外部class文件,也可以引用其他文件(PHP或HTML)
自动加载类
要求:1.所有的类文件要放在同一个文件夹下
2.所有类文件的命名规则要一致
3.所有类文件的名字要和类名保持一致
7、function __autoload() 里面要写变量类名做参数
{
require $类名.".class.php";
}
__auntoload 自动加载类的机制