//__tostring()方法
class Ren //造一个人类,里面有成员变量$name
{
public $name;
}
$r = new Ren();
echo $r;
//写出echo $r;命令是想输出刚造的对象$r,因为$r是人类里面的一个对象,因为直接输出是输出一个对象,这个对象没法直接输出来,因为它是一个对象类型不是个字符串类型所以该程序会报错。
//如果想在输出这个对象的时候不报错,而是显示一下这个类里面的信息。那就得在这个类里面加上一个方法。
class Ren
{
public $name;
public function __tostring() //加了__tostring()方法后,可以“输出该类是人类,name代表姓名”,这句话。这样就可以说明这个__tostring()方法是用来
//我们在输出这个对象的时候,能够有输出内容不报错。而且这个输出内容里面,我们可以简单地描述一下这个类这个对象是干
{ //什么用的,这个对象里面包含哪些成员,分别是做什么用的
return "该类是人类,name代表姓名";
}
}
$r = new Ren();
echo $r;
//克隆对象
class Ren
{
public $name ="张三";
}
$r= new Ren;
$c= clone $r; //又造了一个对象$c,这个$c是由前面已经造过的$r克隆来的,使用关键字clone.所以克隆来的$c与前面$r具有相同的东西。克隆来的$c和$r是
echo $c->name; //一模一样的。相当于我们把这个对象复制了两份。
//我在克隆出这个对象之后,我想修改一下这个对象里面的内容。也就是修改里面的成员变量name
//我们可以在克隆完之后,用对象调用它里面的成员变量来更改name的值。
$r= new Ren;
$c= clone $r;
$c->name = "李四"; //
//还可以在克隆的同时把它改掉。此时需要在这个类里面加上一个方法。
class Ren
{
public $name ="张三";
public function __clone() //这个方法叫做克隆的方法。 在执行$c= clone $r;的时候会自动调用这个方法来执行,那么就可以在这个方法里面
{ //加上一些东西了,想把它名字给变了就在这个方法里面操作name就行
$this->name = "李四"; //在这个花括号里面,$this代表的是副本对象,也就是$this代表$c 原来的那个对象$r没有变化,也就是$r的name值还是张三
} //对原本没有进行改动,改动的是副本的name值。
}
$r= new Ren;
$c= clone $r;
echo $c->name;
//加载类
//第一种方法:用include 先建立一个php文件,名字改为 类名.class.php的形式。然后再将它保存在想要访问它的同一文件夹内。将这个文件里面的代码全部删除只写以
<?php 开头的内容。然后再在想要访问这个类的文件里面使用include();函数来进行加载。 其中括号里面写路径地址,也就是写类文件的地址。因为这两个文件是在同一个文件夹内的所以可以根据相对路径来找就可以了。相对路径:用./ 其后面再写这个类文件的文件名。
include("./Ren.class.php");
$r= new Ren(); //命令为造一个对象$r
echo $r->name; //输出一下这个刚造的对象调用的name成员变量。