2009-07-14 36 views
9

Tôi đang cố gắng tìm hiểu thời tiết tôi có thể làm điều này hay không. Tôi có một lớp được gọi là Mẫu. và tôi muốn mở rộng chức năng lớp đó trong một tệp khác, nhưng tôi không muốn thay đổi tên.Trong PHP, bạn có thể mở rộng một lớp học cùng tên không?

Tôi tuyên bố nó như

class template extends template 
{ 
    // code here 
    function foo() 
    { 

    } 
} 

hoặc để tôi chỉ cần khai báo nó như thế này?

class template 
{ 
    // write function 
    function foo() 
    { 

    } 
} 

Trả lời

-3

Bạn có thể muốn kiểm tra classkit

+0

Trong trường hợp này, tính năng mã hóa thay đổi, nó cho phép thực hiện điều đó, nhưng không phải cách thức phù hợp và dễ dàng. muốn nâng cấp phần mềm nên trực tiếp thông qua lớp học. –

1

Nếu bạn muốn sử dụng một phương pháp/tài sản của lớp ban đầu bạn có thể mở rộng nó nhưng bạn phải sử dụng một cái tên khác, nếu không bạn sẽ nhận được một lỗi về redeclaring lớp.

Về cơ bản:

class template {} 

/* both fail with "cannot redeclare class template */ 

class template extends template {} 

class template {} 
+1

Oh alright. Cảm ơn bạn –

21

Chỉ khi tầng lớp phụ huynh là trong không gian tên khác.

use SomeNamespace\Template as BaseTemplate; 

class Template extends BaseTemplate 
{ 
    //... 
} 
Các vấn đề liên quan