Hàng khuyến mãi Hang khuyen mai hang thanh ly hàng thanh lý

Từ khóa hot: Thời trang Đồng hồ Thẩm mỹ Xây dựng Chăm sóc sức khỏe   |  
Tìm nâng cao
In Chủ đề trước Tiếp theo

phương thức magic [Copy địa chỉ]

Thời gian đăng: 1/4/2016 16:37:13
Trong bài giảng này, anh phải tìm hiểu về các phương thức magic. Một trong Tiêu chí giúp cho hướng đối tượng trở cần mẫn tiệp hơn khá nhiều.
Phương Thức Magic Trong OOP
Để giúp cho việc dùng các object trở phải thuận tiện hơn , lập trình PHP cơ bản đã cung cấp một vài phương thức magic , chúng thường được gọi khi có những action nhất định luôn luôn xảy ra trong các object. Điều này cho phép lập trình viên thực thi một số tác vụ hữu ích dễ dàng.
làm việc Constructors ( hàm Lập trình ) và Destructors ( hàm hủy )


Khi một object được khởi tạo , nó thường kèm theo nhu cầu Cài đặt một đôi thứ ngoài lề. Để xử lí điều này , PHP cung cấp phương thức magic__construct( ) , phương thức này cần phải tự động được gọi ngay khi một object mới được khởi tạo.
Nhằm minh họa cho khái niệm constructor , anh cần thêm một hàm Xây dựng ( constructor ) vàoMyclasscó nhiệm vụ xuất ra một thông cáo bất kỳ ( do chúng ta Cài đặt ) ngay khi có một object biểu lộ của class được khởi tạo.
class MyClass

    public $prop1 = "I'm a class property!";
  
    public function __construct( )
     
        echo 'The class "' , __CLASS__ , '" was initiated!
';
      
    public function setProperty( $newval )
     
        $this->prop1 = $newval;
      
    public function getProperty( )
     
        return $this->prop1. "
";
     

// Tạo object
$obj = new MyClass;
// echo giá trị tính chất $prop1
echo $obj->getProperty( );
echo "End of file.
";
?>

Tham khảo thêm tài liệutự học php cơ bản của Vietpro tại đây >>> hoc php

Chú ý—__CLASS__trả về tên của chính class gọi nó; nó được gọi đối lập với biến số magic ( magic constant ). Trong php căn bản , thì có một đôi hằng số magic , để tìm hiểu thêm về chúng mọi người tìm đọc trong PHP manual.
Đọc lại file trên trình duyệt , các anh phải thấy Cuối cùng như sau:
The class “MyClass” was initiated!
I’m a class property!
End of file.
Giúp gọi một hàm khi object bị hủy , các chị có sẵn phương thức magic__destruct( ).  Bình thường nó được dùng vào mục đích dọn dẹp một cái gì đó ( ví dụ: đóng một kết nối cơ sở dữ liệu ).
Để minh họa , mọi người cần xuất ra một đoạn báo cáo khi object bị hủy bằng cách dùng phương thức__destruct( )trong MyClass:
class MyClass

    public $prop1 = "I'm a class property!";
    public function __construct( )
     
        echo 'The class "' , __CLASS__ , '" was initiated!
';
     
    public function __destruct( )
     
        echo 'The class "' , __CLASS__ , '" was destroyed.
';
      
    public function setProperty( $newval )
     
        $this->prop1 = $newval;
      
    public function getProperty( )
     
        return $this->prop1. "
";
     

  
// Tạo object
$obj = new MyClass;
  
// Echo giá trị tính chất $prop1
echo $obj->getProperty( );
  
echo "End of file.
";
?>
Convert qua Một xâu
Nếu chị muốn echo MyClass ra dưới dạng chuỗi , các anh sẽ gặp lỗi. Để tránh được lỗi này , chị cần sử dụng một phương thức magic khác được gọi là__toString( ).
Trong trường hợp không có__toString( ) , mọi gắng gỏl để echo object ra dưới dạng chuỗi nên đều cho ra một kết quả lỗi trầm trọng ( fatal error ). Dưới đây là một  nếu về việc echo một object ra dưới dạng chuỗi mà không sử dụng một phương thức magic:
Ngoài những phương thức magic chúng ta đã bàn thảo ở đây , PHP còn cung cấp sẵn cho các anh một số phương thức magic khác. Để tìm hiểu thêm về danh sách các phương thức magic , các anh đọc thêm trong PHP manual.

Đánh giá

Lưu trữ | Phiên bản Mobile | Quy chế | Chính sách | Chợ24h

GMT+7, 1/11/2024 15:26 , Processed in 0.109455 second(s), 132 queries .

© Copyright 2011-2024 ISOFT®, All rights reserved
Công ty CP Phần mềm Trí tuệ
Số ĐKKD: 0101763368 do Sở KH & ĐT Tp. Hà Nội cấp lần đầu ngày 13/7/2005, sửa đổi lần thứ 4 ngày 03/11/2011
Văn phòng: Tầng 9, Tòa Linh Anh, Số 47-49 Khuất Duy Tiến, P. Thanh Xuân Bắc, Q. Thanh Xuân, Hà Nội
Tel: (84) 2437 875018 | (84) 2437 875017 | E-Mail: cho24h@isoftco.com

Lên trên