php教程 app(一文了解“最好编程语言”PHP 必知的 16 个编程法则!)

wufei123 发布于 2024-01-29 阅读(172)

点击进入“PHP开源社区”免费获取进阶面试、文档、视频资源PHP是最好的编程语言对于PHP开发者来说,掌握一些编程法则是十分重要的而在PHP中,以双下划线(__)开头的方法称为魔术方法,它们扮演着非常重要的角色。

常用的魔术方法包括:-__construct():类的构造方法;-__destruct():类的析构方法;-__call($funName, $arguments):当访问未定义或没有访问权限的方法时,__call()会被调用;

-__callStatic($funName, $arguments):当访问未定义或没有访问权限的静态方法时,__call()会被调用;-__get($propertyName):读取类的成员变量时__get()会被调用;

-__set($property, $value):写入类的成员变量时__set()会被调用;-__isset($content):当针对未定义或没有访问权限的成员使用isset()或empty()时__isset()会被调用;

-__unset($content):在未定义或没有访问权限的成员上使用reset()时__unset()会被调用;-__sleep():在执行serialize()时__sleep()会被调用;-__wakeup():在执行deserialization()时__wakeup()会被调用;

-__toString():使用echo方法直接输出对象时,__toString()会被调用;-__invoke():像调用函数一样调用对象时,对象的__invoke()会被调用;-__set_state($an_array):调用var_export()时__set_state()会被调用;

-__clone():复制对象时__clone()会被调用;-__autoload($className):试图加载未定义的类;-__debuginfo():输出调试信息本文将通过具体点的例子说明,这些PHP魔术方法的用法。

1. __construct()PHP构造方法是对象创建之后自动调用的第一个方法任何类都有构造方法如果没有显式定义,那么类会有个默认的构造方法,该方法没有参数,方法体为空1) 构造方法的用法构造函数通常用来执行初始化工作,如在创建对象时设置成员变量的初始值。

2) 声明类的构造方法的格式function__constrct([参数列表]){    方法体 // 通常用于设置成员变量的初始值}注意:同一个类只能有一个构造方法,因为PHP不支持构造方法重载完整的示例如下:。

public $age;       public $sex;       /**         * 显示定义带有参数的构造方法         */publicfunction__construct

($name="", $sex="Male", $age=22){     $this->name = $name;$this->sex = $sex;$this->age = $age;        }

/**         * say方法         */publicfunctionsay(){echo"Name:" . $this->name . ",Sex:" . $this->sex .

",Age:" . $this->age;        }      }不使用任何参数创建对象$Person1$Person1 = new Person();echo $Person1->say(); 。

//输出: Name:,Sex:Male,Age:22使用参数"James"创建对象$Person2$Person2 = new Person("Jams");echo $Person2->say(); 。

// 输出: Name: Jams, Sex: Male, Age: 22使用三个参数创建$Person3$Person3 = new Person ("Jack", "Male", 25);echo $Person3->say();

// 输出: Name: Jack, Sex: Male, Age: 252. __destruct()现在我们知道了构造方法,那么相对的就是析构方法析构方法可以在对象销毁之前执行一些操作,如关闭文件、清空结果集,等等。

析构方法是PHP5引入的新特性析构方法的声明格式与构造方法 __construct() 类似,就是说__destruct()也以双下划线开头,其名称也是固定的1) 析构方法的声明格式function__destruct

(){// 方法体}注意:析构方法不能带任何参数2) 析构方法的用法一般来说,PHP中析构方法并不是太常用在类中它是可选的,通常用于在对象销毁之前执行某些清理工作下面的例子演示了如何使用析构方法:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

大众 新闻47728