本页目录
PHP 构造函数
构造函数是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,在创建对象的语句中与 new 运算符一起使用。
PHP 5 允许开发者在一个类中定义一个方法作为构造函数,语法格式如下:
void __construct ([ mixed $args [, $... ]] )在上面的例子中我们就可以通过构造方法来初始化 $url 和 $title 变量:
function __construct( $par1, $par2 ) { $this->url = $par1; $this->title = $par2;}现在我们就不需要再调用 setTitle 和 setUrl 方法了:
使用构造函数前
$runoob = new Site;$taobao = new Site;$google = new Site;
// 调用成员函数,设置标题和URL$runoob->setTitle( "菜鸟教程" );$taobao->setTitle( "淘宝" );$google->setTitle( "Google 搜索" );
$runoob->setUrl( 'www.runoob.com' );$taobao->setUrl( 'www.taobao.com' );$google->setUrl( 'www.google.com' );使用构造函数后
$runoob = new Site('www.runoob.com', '菜鸟教程');$taobao = new Site('www.taobao.com', '淘宝');$google = new Site('www.google.com', 'Google 搜索');
// 调用成员函数,获取标题和URL$runoob->getTitle();$taobao->getTitle();$google->getTitle();
$runoob->getUrl();$taobao->getUrl();$google->getUrl();析构函数
析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。
PHP 5 引入了析构函数的概念,这类似于其它面向对象的语言,其语法格式如下:
void __destruct ( void )实例
<?phpclass MyDestructableClass { function __construct() { print "构造函数n"; $this->name = "MyDestructableClass"; }
function __destruct() { print "销毁 " . $this->name . "n"; }}
$obj = new MyDestructableClass();?>执行以上代码,输出结果为:
构造函数销毁 MyDestructableClass