锟斤拷锟届函锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷

锟斤拷锟届函锟斤拷

__construct ([ mixed $args [, $... ]] ) : void

PHP 5 锟斤拷锟叫匡拷锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟叫讹拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷为锟斤拷锟届函锟斤拷锟斤拷锟斤拷锟叫癸拷锟届函锟斤拷锟斤拷锟斤拷锟斤拷锟矫匡拷未锟斤拷锟斤拷露锟斤拷锟绞憋拷鹊锟斤拷么朔锟斤拷锟斤拷锟斤拷锟斤拷苑浅锟斤拷屎锟斤拷锟绞癸拷枚锟斤拷锟街帮拷锟揭恍╋拷锟绞硷拷锟斤拷锟斤拷锟斤拷锟�

Note: 锟斤拷锟斤拷锟斤拷锟斤拷卸锟斤拷锟斤拷斯锟斤拷旌拷锟斤拷虿换锟斤拷锟绞斤拷锟斤拷锟斤拷涓革拷锟侥癸拷锟届函锟斤拷锟斤拷要执锟叫革拷锟斤拷墓锟斤拷旌拷锟斤拷锟斤拷锟揭拷锟斤拷锟斤拷锟侥癸拷锟届函锟斤拷锟叫碉拷锟斤拷 parent::__construct()锟斤拷锟斤拷锟斤拷锟斤拷锟矫伙拷卸锟斤拷骞癸拷旌拷锟斤拷锟斤拷锟斤拷同一锟斤拷锟斤拷通锟斤拷锟洁方锟斤拷一锟斤拷锟接革拷锟斤拷坛校锟斤拷锟斤拷锟矫伙拷斜锟斤拷锟斤拷锟轿� private 锟侥伙拷锟斤拷锟斤拷

Example #1 使锟斤拷锟铰憋拷准锟侥癸拷锟届函锟斤拷

<?php
class BaseClass {
   function 
__construct() {
       print 
"In BaseClass constructor\n";
   }
}

class 
SubClass extends BaseClass {
   function 
__construct() {
       
parent::__construct();
       print 
"In SubClass constructor\n";
   }
}

class 
OtherSubClass extends BaseClass {
    
// inherits BaseClass's constructor
}

// In BaseClass constructor
$obj = new BaseClass();

// In BaseClass constructor
// In SubClass constructor
$obj = new SubClass();

// In BaseClass constructor
$obj = new OtherSubClass();
?>

为锟斤拷实锟斤拷锟斤拷锟斤拷锟斤拷锟皆o拷锟斤拷锟� PHP 5 锟斤拷锟斤拷锟斤拷锟揭诧拷锟斤拷 __construct() 锟斤拷锟斤拷锟斤拷锟斤拷也没锟叫从革拷锟斤拷坛锟揭伙拷锟斤拷幕锟斤拷锟斤拷锟斤拷突岢拷锟窖帮拷揖锟绞斤拷墓锟斤拷旌拷锟斤拷锟揭诧拷锟斤拷呛锟斤拷锟酵拷锟斤拷暮锟斤拷锟斤拷锟斤拷锟斤拷唯一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷牵锟斤拷锟斤拷锟斤拷锟斤拷锟揭伙拷锟斤拷锟轿� __construct() 锟侥凤拷锟斤拷却锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷途时锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷同锟斤拷锟斤拷 __construct() 锟斤拷锟诫父锟斤拷 __construct() 锟斤拷锟叫诧拷同锟斤拷锟斤拷锟侥凤拷锟斤拷锟斤拷锟斤拷时锟斤拷PHP 锟斤拷锟斤拷锟斤拷锟揭伙拷锟� E_STRICT 锟斤拷锟斤拷锟斤拷息锟斤拷

锟斤拷 PHP 5.3.3 锟斤拷锟斤拷锟斤拷锟斤拷锟秸硷拷锟叫o拷锟斤拷锟斤拷锟斤拷同锟斤拷锟侥凤拷锟斤拷锟斤拷锟斤拷锟斤拷为锟斤拷锟届函锟斤拷锟斤拷锟斤拷一锟侥变不影锟届不锟斤拷锟斤拷锟斤拷锟秸硷拷锟叫碉拷锟洁。

Example #2 Constructors in namespaced classes

<?php
namespace Foo;
class 
Bar {
    public function 
Bar() {
        
// treated as constructor in PHP 5.3.0-5.3.2
        // treated as regular method as of PHP 5.3.3
    
}
}
?>

锟斤拷锟斤拷锟斤拷锟斤拷

__destruct ( void ) : void

PHP 5 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥革拷锟筋,锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟皆o拷锟斤拷 C++锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟节碉拷某锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷枚锟斤拷锟缴撅拷锟斤拷锟斤拷叩锟斤拷锟斤拷锟斤拷锟绞斤拷锟斤拷锟绞敝达拷小锟�

Example #3 锟斤拷锟斤拷锟斤拷锟斤拷示锟斤拷

<?php
class MyDestructableClass {
   function 
__construct() {
       print 
"In constructor\n";
       
$this->name "MyDestructableClass";
   }

   function 
__destruct() {
       print 
"Destroying " $this->name "\n";
   }
}

$obj = new MyDestructableClass();
?>

锟酵癸拷锟届函锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷岜伙拷锟斤拷姘碉拷械锟斤拷谩锟揭达拷懈锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞斤拷锟斤拷锟� parent::__destruct()锟斤拷锟斤拷锟斤拷也锟酵癸拷锟届函锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷约锟矫伙拷卸锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷坛懈锟斤拷锟侥★拷

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷使锟斤拷使锟斤拷 exit() 锟斤拷止锟脚憋拷锟斤拷锟斤拷时也锟结被锟斤拷锟矫★拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫碉拷锟斤拷 exit() 锟斤拷锟斤拷锟斤拷止锟斤拷锟斤拷乇詹锟斤拷锟斤拷锟斤拷锟斤拷小锟�

Note:

锟斤拷锟斤拷锟斤拷锟斤拷锟节脚憋拷锟截憋拷时锟斤拷锟矫o拷锟斤拷时锟斤拷锟叫碉拷 HTTP 头锟斤拷息锟窖撅拷锟斤拷锟斤拷锟斤拷锟脚憋拷锟截憋拷时锟侥癸拷锟斤拷目录锟叫匡拷锟杰猴拷锟斤拷 SAPI锟斤拷锟斤拷 apache锟斤拷锟斤拷时锟斤拷同锟斤拷

Note:

锟斤拷图锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟节脚憋拷锟斤拷止时锟斤拷锟斤拷锟矫o拷锟斤拷锟阶筹拷一锟斤拷锟届常锟结导锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷