PHP 5 ���п�������һ�����ж���һ��������Ϊ���캯�������й��캯���������ÿ�δ����¶���ʱ�ȵ��ô˷��������Էdz��ʺ���ʹ�ö���֮ǰ��һЩ��ʼ��������
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();
?>
Ϊ��ʵ���������ԣ���� PHP 5 �������Ҳ��� __construct() ��������Ҳû�дӸ���̳�һ���Ļ������ͻ᳢��Ѱ�Ҿ�ʽ�Ĺ��캯����Ҳ���Ǻ���ͬ���ĺ��������Ψһ��������������������ǣ���������һ����Ϊ __construct() �ķ���ȴ������������;ʱ��
������������ͬ���� __construct()
���븸�� __construct()
���в�ͬ�����ķ�������ʱ��PHP �������һ�� E_STRICT
������Ϣ��
�� PHP 5.3.3 ���������ռ��У�������ͬ���ķ���������Ϊ���캯������һ�ı䲻Ӱ�첻�������ռ��е��ࡣ
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
}
}
?>
PHP 5 ���������������ĸ�������������������������ԣ��� C++�������������ڵ�ij��������������ö���ɾ�����ߵ�������ʽ����ʱִ�С�
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:
���������ڽű��ر�ʱ���ã���ʱ���е� HTTP ͷ��Ϣ�Ѿ��������ű��ر�ʱ�Ĺ���Ŀ¼�п��ܺ��� SAPI���� apache����ʱ��ͬ��
Note:
��ͼ�������������ڽű���ֹʱ�����ã����׳�һ���쳣�ᵼ����������