PHP函数使用说明
1 __construct()。当对象被实例化时,它被称为,
当__construct和函数与类的名字作为一个函数的名字是同时存在的,__construct将被称为和其他不叫。
2 __destruct()。
当删除对象或对象操作时,调用操作。
3 __call()。
对象调用方法,
如果方法存在,则直接调用它;
如果它不存在,这__call函数被调用。
4 __get()。
当读取对象的属性时,
如果属性存在,则直接返回属性值。
如果它不存在,这__get函数被调用。
5 __set()。
当设置对象的属性时,
如果属性存在,则直接赋值。
如果它不存在,这__set函数被调用。
6 __tostring()。
一个对象是在印刷时,它被称为。如echo $ obj;或打印$ obj;
7 __clone()。
克隆对象时调用克隆,例如:新的测试();
8 __sleep()。
序列化为过。如果对象是越想删除一个小东和东reserialization,我们可以认为这个功能。
9 __wakeup()。
当序列化称,一些对象的初始化工作完成。
10 __isset()。
对一个对象的属性检测时调用它的存在。如:isset($ C ->名称)。
11 __unset()。
设置一个对象的特性称为。如:unset($ C ->名称)。
12 __set_state()。
当var_export叫,它叫的__set_state返回值作为返回值的var_export。
13 __autoload()。
当实例化一个对象时,如果对应的类不存在,就调用该方法。
幻方常数
1。__line__
返回文件中当前行号。
2。__file__
返回完整的路径和文件名的文件。如果用它所包含的文件,文件名包含。从PHP 4.0.2,__file__总是包含一个绝对路径,和以前的版本有时会包含一个相对路径。
3。__function__
返回的函数名称(PHP 4.3.0)。从PHP 5,这种持续的返回函数的名字时,它的定义(区分大小写)。在PHP 4中,价值总是小写。
4。__class__
返回类的名称(PHP 4.3.0新增)。从PHP 5,这种持续的返回类的名称时,它的定义(区分大小写)。在PHP 4中,价值总是小写。
5。__method__
返回该类的方法名称(PHP 5.0.0新增)。返回的方法的名称时,它的定义(实例)。
(1)第一魔术法
由于php5.0的推出,我们已经提供了许多面向对象的特征,特别是为我们提供了许多易用神奇的方法。这些神奇的方法可以简化我们的编码和改善我们的制度设计。今天我们会知道PHP5.0带给我们的神奇的方法。
3、__get()是当它试图读一个不存在的属性称为。
如果你想读一个属性,一个对象不存在,PHP提供了错误的信息。如果__get方法添加到类中,我们可以利用这个功能来执行各种各样的操作类似于java的反射。
类测试
{
公共功能__get($键)
{
回波键。它不存在;
}
}
$ =新测试();
回声名称;
输出将是:
名称不存在
4、__set()是当它试图写入值到不存在所谓的属性。
类测试
{
公共功能__set($,$值)
{
回声到$键。价值,价值;
}
}
$ =新测试();
$ T ->名称= aninggo;
输出将是:
名称附加值aninggo
5、__call()调用方法时,它试图调用一个不存在对象的方法。
类测试
{
公共功能__call(美元美元关键,args)
{
要调用的{ }键}方法不存在。传入参数是:。print_r(一美元,真的);
}
}
$ =新测试();
$ T -> getName(清洗、去);
程序将输出:
你想调用getName方法不存在参数为数组。
(
{ 0 } = >的意义
{ 1 } >转到
)
6、__tostring()被调用时,一个对象是印刷
这种方法类似于java的ToString方法,并调用函数时,我们直接打印对象。
类测试
{
公共功能__tostring()
{
返回打印测试;
}
}
$ =新测试();
回声$;
运行echo $ T;叫$ T -> __tostring()在时间;因此输出
打印测试
7、__clone()被调用时,对象的克隆
类测试
{
公共功能__clone()
{
复制我的回声!;
}
}
$ =新测试();
T1 =克隆T美元美元;
程序的输出:
我被复制了!