加载类
加载类
一个单独的文件写的一个类,如果我们想使用这个类的话就需要加载这个类
第一种
include ("./ceshi.php"); //使用类的路径,绝对路径和相对路径都可以,就可以找到类并且加载进来 include_once("./ceshi.php"); //防止加载重复出现错误 $r = new Ren();
第二种
require("./ceshi.php"); require"./ceshi.php"; //可以不用写括号 require_once"./ceshi.php"; //同上防止报错
区别:include方法加载过来的类如果有错误,不会太影响下面代码执行,require会影响
第三种
//类的命名要规范 //类名+.class+.php //所有的类要放在同一个文件夹下 function __autoload($classname){ require_once "./ceshi/{classname}.class.php"; } $r = new Ren(); var_dump($r); $d = new Dog(); var_dump($d);
扩展
魔术方法
class Ren{ public function __tostring(){ //在输出对象的时候自动调用 return "这是一个人类"; } } $r = new Ren(); echo $r;
克隆对象
class Ren{ public $name; public function __tostring(){ echo "这是个人"; } public function __clone(){ //对克隆后的新对象进行一些修改 $this->name = "李四"; //这个this是副本对象 } } $r = new Ren(); $r->name = "张三"; $ri = clone $r; var_dump($r1);