2009-08-09 36 views
9

Tôi muốn sử dụng Zend_Tool (ZF 1.9) với dự án của mình, nhưng tôi muốn có thể tùy chỉnh đầu ra mặc định của các tệp mới. Ví dụ, tất cả các bộ điều khiển nên có một tiêu đề cụ thể trước pended để đầu ra với phpdoc đánh dấu và cấp phép thông tin để tránh tôi phải thêm này như là một bước thêm.Làm thế nào để tùy chỉnh đầu ra Zend_Tool?

Ngoài ra, đối với dự án cụ thể này (nhưng không phải tất cả các dự án khác), tôi cần bộ điều khiển để mở rộng một cái gì đó khác với bộ điều khiển Zend mặc định như tôi đã mở rộng cho một số chức năng cụ thể.

Tài liệu ám chỉ đến khả năng làm những việc này, nhưng nó không làm cho nó rất rõ ràng.

Từ những gì tôi có thể nói tôi có thể thiết lập thư mục ~/.zf (trên các hệ thống dựa trên ****) và bao gồm các nhà cung cấp tùy chỉnh ở đó. Tuy nhiên, điều này sẽ được máy rộng như trái ngược với giới hạn phạm vi dự án duy nhất. Ngoài ra, trong khi điều này sẽ thêm nhà cung cấp mới nó không (dường như) cho phép tôi tùy chỉnh các chức năng của hiện tại nhà cung cấp.

Bất kỳ trợ giúp nào ở đây sẽ được đánh giá rất nhiều!

Trả lời

0

Bạn có thể tự nhiên tiếp tục ghi đè khi bạn xác định các lớp cụ thể. Bạn có thể khai báo chúng dựa trên lớp của bạn, chứ không phải lớp ZF.

Đối với các dự án cụ thể, bạn có thể sửa đổi đường dẫn lớp của mình thành phiên bản tùy chỉnh của ZF hoặc có thể có thư mục ghi đè tùy chỉnh. Với một thư mục tùy chỉnh thì các thay đổi của bạn không phải là máy rộng, nhưng cũng không phải là khung công tác zend của bạn. trên các hệ thống dựa trên *** nix, bạn có thể tận dụng các liên kết tượng trưng để giữ cho mình một bản sao của ZF.

Bạn đang cố gắng sửa đổi mã nguồn của mình để bao gồm các tiêu đề giấy phép và PHPdoc? Nếu vậy, những gì tôi đã làm trong quá khứ là có một bước xây dựng đơn giản để thêm thông tin bạn cần. Mỗi loại tệp có thể có thông tin tiêu đề thích hợp. Bạn có thể có thẻ đẹp để yêu cầu hệ thống bỏ qua tệp hoặc chỉ chạy trên bộ điều khiển.

Good Luck, Jacob

1

Về cơ bản những gì Jacob đã nhận được tại địa chỉ: những gì bạn đang nói chuyện có vẻ như lớp đơn giản kéo dài. Có một giới thiệu slideshow thực sự đơn giản có thể mở rộng Zend Framework đây:

http://www.slideshare.net/PHPBelgium/extending-zend-framework-presentation

Ngoài ra còn có rất nhiều tài nguyên khác có sẵn trực tuyến cho việc mở rộng Zend Framework. Bạn có thể tạo các cây nguồn riêng biệt cho các dự án khác nhau của bạn, và chức năng phổ biến cho các dự án khác nhau có thể được thêm vào các lớp trừu tượng nằm trong các thư mục chung. Một cái gì đó như thế này là không phổ biến, nhưng tôi đã tìm thấy nó hoạt động trong các loại tình huống:

class My_Component_HelloProvider extends My_Common_Component_HelloProvider 
{ 
    public function say() 
    { 
     echo 'Hello from my provider!'; 
    } 

    // public function do() is inherited 

} 

class My_Common_Component_HelloProvider 
    implements Zend_Tool_Framework_Provider_Interface 
{ 
    public function do() 
    { 
     // do something 
    } 
} 

Hãy cho tôi biết nếu điều này khác với những gì bạn đang cố gắng làm, nhưng không có lý do gì bạn có thể 't xây dựng nhiều phần mở rộng applcation từ một trường hợp duy nhất của ZF.

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