2016-07-28 18 views
15

Trong Zend Framework 2, việc thêm biểu ngữ mô-đun ban đầu vào các ứng dụng bảng điều khiển rất đơn giản.Cách tạo ứng dụng giao diện điều khiển ZF3

Tất cả những gì chúng tôi cần là triển khai các phương pháp getConsoleBannergetConsoleUsage và triển khai các giao diện Zend\ModuleManager\Feature\ConsoleUsageProviderInterface hoặc ConsoleBannerProviderInterface.

Điều này là đủ tốt để kết xuất những thư đó trong bảng điều khiển khi public/index.php được bắt đầu qua CLI.

Trong Zend Framework 3, nó không giống nhau.

Thực hiện cùng một thiết lập không cung cấp kết quả tương tự. Trên thực tế, trong giao diện điều khiển, chúng tôi thấy trang html mặc định cho ứng dụng bộ xương giống như cách chúng tôi truy cập nó qua trình duyệt.

trang đó đã được nhìn thấy trước khi chúng ta cài đặt các mô-đun tùy chỉnh: Sau đây là các tài liệu cho các mô-đun zend-mvc-console https://zendframework.github.io/zend-mvc-console/intro/

Ngay cả sau khi mô-đun được cài đặt như đề xuất ('Zend\Mvc\Console' thêm vào trong định nghĩa module) giao diện điều khiển băng rôn không được hiển thị. Tôi đã thử nghiệm với var dumping bên trong các phương thức và tôi có thể xem dữ liệu, do đó, khung thực hiện các phương thức đó nhưng không hiển thị kết quả trong giao diện điều khiển.

Tôi đã thử nghiệm với các tuyến điều khiển và bộ điều khiển. Tuyến đường được tìm thấy, hành động điều khiển được thực hiện nhưng không có gì được hiển thị trong cli một lần nữa.

Tôi đã đào sâu vào mã của khung và có vẻ như lớp Zend\Mvc\Console\ResponseSender\ConsoleResponseSender không bao giờ được thi hành.

Tôi có phải đăng ký một số chiến lược view_manager để hiển thị nội dung nào đó trong CLI không?

Dưới đây là các nguồn trên đầu trang của các ứng dụng xương zf3: https://gist.github.com/kachar/06f0c9096bcc1cc0b00f4612aed1b68b

Chạy ứng dụng:

$ php -v 
PHP 7.0.6 (cli) (built: Apr 27 2016 14:00:40) (ZTS) 
Copyright (c) 1997-2016 The PHP Group 
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies 

$ php public/index.php 
Application\Module::getConsoleBanner 
Application\Module::getConsoleUsage 

$ php public/index.php user 
Application\Controller\IndexController::indexAction 
+1

Nó có thể là một lỗi trong zend-MVC-console: https://github.com/zendframework/zend-mvc-console/ vấn đề/12 – avy

+0

@kachar: bạn đã thành công trong việc triển khai bảng điều khiển zf theo đề xuất của @weierophinney?Nếu bạn đã làm, bạn sẽ chia sẻ như thế nào với chúng tôi? –

Trả lời

7

mỗi tài liệu của chúng ta, MVC <-> Console integration is deprecated. Chúng tôi khuyên bạn nên sử dụng zf-console hoặc symfony console để tạo chức năng bảng điều khiển cho ứng dụng của bạn.

Chúng tôi nhận biết vấn đề với bảng điều khiển zend-mvc và chúng tôi sẽ sớm phát hành bản vá để giải quyết chúng, điều này sẽ khắc phục sự cố ngắn hạn của bạn. Tuy nhiên, chúng tôi khuyên bạn nên chuyển sang giải pháp khác trong thời gian dài.

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