PHP 5 Power Programming P2
Số trang: 20
Loại file: pdf
Dung lượng: 273.66 KB
Lượt xem: 7
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu php 5 power programming p2, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
PHP 5 Power Programming P2Gutmans_Ch01 Page 3 Thursday, September 23, 2004 2:35 PM 1.2 Language Features 3 The old object model not only led to the afore-mentioned problems, but also to fundamental problems that prevented implementing some additional features on top of the existing object model. In PHP 5, the infrastructure of the object model was rewritten to work with object handles. Unless you explicitly clone an object by using the clone keyword, you never create behind-the-scenes duplicates of your objects. In PHP 5, you don’t need a need to pass objects by reference or assign them by reference. Note: Passing by reference and assigning by reference are still sup- ported, in case you want to actually change a variable’s content (whether object or other type). 1.2.2 New Object-Oriented Features The new OO features are too numerous to give a detailed description in this section. Chapter 3, “PHP 5 OO Language,” details each feature. The following list provides the main new features: ☞ public/private/protected access modifiers for methods and properties. Allows the use of common OO access modifiers to control access to methods and properties: class MyClass { private $id = 18; public function getId() { return $this->id; } } ☞ Unified constructor name __construct(). Instead of the constructor being the name of the class, it is now declared as __construct(), which makes it easier to shift classes inside class hier- archies: class MyClass { function __construct() { print Inside constructor; } } ☞ Object destructor support by defining a __destructor() method. Allows defining a destructor function that runs when an object is destroyed: class MyClass { function __destruct() { print ”Destroying object”; } }Gutmans_Ch01 Page 4 Thursday, September 23, 2004 2:35 PM 4 What Is New in PHP 5? Chap. 1 ☞ Interfaces. Gives the ability for a class to fulfill more than one is-a relationships. A class can inherit only from one class, but may implement as many interfaces as it wants: interface Display { function display(); } class Circle implements Display { function display() { print Displaying circle ; } } ☞ instanceof operator. Language-level support for is-a relationship checking. The PHP 4 is_a() function is now deprecated: if ($obj instanceof Circle) { print $obj is a Circle; } ☞ Final methods. The final keyword allows you to mark methods so that an inheriting class cannot overload them: class MyClass { final function getBaseClassName() { return __CLASS__; } } ☞ Final classes. After declaring a class as final, it cannot be inherited. The following example would error out. final class FinalClass { } class BogusClass extends FinalClass { } ☞ Explicit object cloning. To clone an object, you must use the clone keyword. You may declare a __clone() method, which will be called during the clone process (after the properties have been copied from the original object):Gutmans_Ch01 Page 5 Thursday, September 23, 2004 2:35 PM 1.2 Language Features 5 class MyClass { function __clone() { print Object is being cloned; ...
Nội dung trích xuất từ tài liệu:
PHP 5 Power Programming P2Gutmans_Ch01 Page 3 Thursday, September 23, 2004 2:35 PM 1.2 Language Features 3 The old object model not only led to the afore-mentioned problems, but also to fundamental problems that prevented implementing some additional features on top of the existing object model. In PHP 5, the infrastructure of the object model was rewritten to work with object handles. Unless you explicitly clone an object by using the clone keyword, you never create behind-the-scenes duplicates of your objects. In PHP 5, you don’t need a need to pass objects by reference or assign them by reference. Note: Passing by reference and assigning by reference are still sup- ported, in case you want to actually change a variable’s content (whether object or other type). 1.2.2 New Object-Oriented Features The new OO features are too numerous to give a detailed description in this section. Chapter 3, “PHP 5 OO Language,” details each feature. The following list provides the main new features: ☞ public/private/protected access modifiers for methods and properties. Allows the use of common OO access modifiers to control access to methods and properties: class MyClass { private $id = 18; public function getId() { return $this->id; } } ☞ Unified constructor name __construct(). Instead of the constructor being the name of the class, it is now declared as __construct(), which makes it easier to shift classes inside class hier- archies: class MyClass { function __construct() { print Inside constructor; } } ☞ Object destructor support by defining a __destructor() method. Allows defining a destructor function that runs when an object is destroyed: class MyClass { function __destruct() { print ”Destroying object”; } }Gutmans_Ch01 Page 4 Thursday, September 23, 2004 2:35 PM 4 What Is New in PHP 5? Chap. 1 ☞ Interfaces. Gives the ability for a class to fulfill more than one is-a relationships. A class can inherit only from one class, but may implement as many interfaces as it wants: interface Display { function display(); } class Circle implements Display { function display() { print Displaying circle ; } } ☞ instanceof operator. Language-level support for is-a relationship checking. The PHP 4 is_a() function is now deprecated: if ($obj instanceof Circle) { print $obj is a Circle; } ☞ Final methods. The final keyword allows you to mark methods so that an inheriting class cannot overload them: class MyClass { final function getBaseClassName() { return __CLASS__; } } ☞ Final classes. After declaring a class as final, it cannot be inherited. The following example would error out. final class FinalClass { } class BogusClass extends FinalClass { } ☞ Explicit object cloning. To clone an object, you must use the clone keyword. You may declare a __clone() method, which will be called during the clone process (after the properties have been copied from the original object):Gutmans_Ch01 Page 5 Thursday, September 23, 2004 2:35 PM 1.2 Language Features 5 class MyClass { function __clone() { print Object is being cloned; ...
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật lập trình Phần cứng Công nghệ thông tin Tin học Quản trị mạngGợi ý tài liệu liên quan:
-
52 trang 430 1 0
-
24 trang 355 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 314 0 0 -
74 trang 299 0 0
-
96 trang 293 0 0
-
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 289 0 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 281 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 275 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 269 1 0 -
Tài liệu hướng dẫn sử dụng thư điện tử tài nguyên và môi trường
72 trang 265 0 0