2010-05-27 32 views
10

Tôi tự hỏi chúng ta gọi loại nhiệm vụ này là gì.Chúng ta gọi điều này là gì?

<?php 
class SimpleClass 
{ 
    public $var1; 
    public $var2; 
    public $var3; 

    public function SimpleClass() 
    { 
     $this->var1 = 'one'; 
     $this->var2 = 'two'; 
     $this->var3 = 'three'; 
    } 
} 

function test() 
{ 
    $objSc = new SimpleClass(); 
    $objSc->var4 = 'WTF?!'; # <-- what do we call this? 
    var_dump($objSc); 
} 

test(); 
?> 

Tốt hơn với tham chiếu hoặc liên kết. Cảm ơn trước!

EDIT: Tôi đang tìm kiếm một thuật ngữ kỹ thuật cho nó ... tốt, nếu chúng ta có.

Trả lời

10

Tôi tin rằng đây là quá tải.

Quá tải trong PHP cung cấp các phương tiện và phương thức "tạo" động. Các thực thể động này được xử lý thông qua các phương thức ma thuật mà một người có thể thiết lập trong một lớp cho các loại hành động khác nhau.

Phương thức nạp chồng được gọi khi tương tác với thuộc tính hoặc phương thức chưa được khai báo hoặc không hiển thị trong phạm vi hiện tại.

Hướng dẫn sử dụng PHP here.

+2

Cuộc gọi để đặt thuộc tính 'var4' của đối tượng' $ objSc' đi qua phương thức ma thuật __set() mà bạn có thể tự đặt mình làm những việc khác. –

+0

+1 để trích dẫn hướng dẫn sử dụng. – Mizipzor

1

Bạn đang đặt thuộc tính độc lập của đối tượng $objSc.

2

Đó là gán các chuỗiWTF?! cho một biến phạm vi công cộng của SimpleClass. Nếu bạn var_dump nó, nó cho thấy sản lượng một cách chính xác như:

string(5) "WTF?!" 

Và như @marcdev chỉ ra, nó được biết đến như quá tải.

Các vấn đề liên quan