PHP 构造方法 __construct()
2016-03-21 10:54
477 查看
PHP 构造方法 __construct()
PHP 构造方法 __construct() 允许在实例化一个类之前先执行构造方法。构造方法
构造方法是类中的一个特殊方法。当使用 new 操作符创建一个类的实例时,构造方法将会自动调用,其名称必须是 __construct() 。在一个类中只能声明一个构造方法,而是只有在每次创建对象的时候都会去调用一次构造方法,不能主动的调用这个方法,所以通常用它执行一些有用的初始化任务。该方法无返回值。语法:function __construct(arg1,arg2,...) { ...... }例子:
<?php class Person { var $name; var $age; //定义一个构造方法初始化赋值 function __construct($name, $age) { $this->name=$name; $this->age=$age; } function say() { echo "我的名字叫:".$this->name."<br />"; echo "我的年龄是:".$this->age; } } $p1=new Person("张三", 20); $p1->say(); ?>运行该例子,输出:
我的名字叫:张三 的年龄是:20在该例子中,通过构造方法对对象属性进行初始化赋值。
提示
PHP 不会在本类的构造方法中再自动的调用父类的构造方法。要执行父类的构造方法,需要在子类的构造方法中调用 parent::__construct() 。PHP 析构方法 __destruct()
PHP 析构方法 __destruct() 允许在销毁一个类之前执行执行析构方法。析构方法
与构造方法对应的就是析构方法,析构方法允许在销毁一个类之前执行的一些操作或完成一些功能,比如说关闭文件、释放结果集等。析构函数不能带有任何参数,其名称必须是 __destruct() 。语法:function __destruct() { ...... }我们在上面的例子中加入下面的析构方法:
//定义一个析构方法 function __destruct() { echo "再见".$this->name; }再次运行该例子,输出:
我的名字叫:张三 我的年龄是:20 再见张三
提示
和构造方法一样,PHP 不会在本类中自动的调用父类的析构方法。要执行父类的析构方法,必须在子类的析构方法体中手动调用 parent::__destruct() 。试图在析构函数中抛出一个异常会导致致命错误。
在 PHP4 版本中,构造方法的名称必须与类名相同,且没有析构方法。
相关文章推荐
- PHP什么时候释放内存???5
- IIS下开启php扩展失效? IIS下开启php扩展gd2失效?
- 解决PHP生成校验码时“图像因其本身有错无法显示”的错误
- phpmyadmin然后点击左侧进入mysql数据库,在顶部点击“mysql”进入sql输入界面。输入以下命令
- 谁来详细介绍下php的zend加密啊?
- PHP错误报告等级设置 ,不再着ERROR的道
- PHP大小写:函数名和类名不区分,变量名区分
- PHP:Notice: Undefined index: submit in
- 《利用phpmyadmin修改mysql的root密码》
- phpmyadmin 密码(如何修改phpmyadmin 密码)
- phpmyadmin新加用户登陆不了,测试解决方案
- {dede:php}{/dede:php}另外一个是{dede:sql}标签详解
- 《IIS下运行PHP的方法》
- 解决PHP生成校验码时“图像因其本身有错无法显示”的错误
- php图片验证码,为什么非要加上ob_clean();这句话才能正常显示呢?
- error_reporting() 设置 PHP 的报错级别并返回当前级别。
- 如何编译安装PHP扩展
- dede后台登陆出现include\\userlogin.class.php on line 21 怎么解决
- php防止短时间内重复提交。
- PHP fsockopen函数详解