2016-07-28 27 views
15

Zend Framework 2'de, konsol uygulamalarına ilk modül bayrağını eklemek çok kolaydır.ZF3 konsol uygulaması nasıl oluşturulur

Tek ihtiyacımız için getConsoleBanner ve getConsoleUsage yöntemleri uygulamak ve Zend\ModuleManager\Feature\ConsoleUsageProviderInterface veya ConsoleBannerProviderInterface arabirimleri uygulamaktır.

Bu mesajlar, public/index.php CLI aracılığıyla başlatıldığında konsoldaki bu iletileri atmak için yeterlidir.

Zend Framework 3'te aynı değil.

Aynı ayarın yapılması aynı sonucu sağlamıyor. Aslında konsolda, iskelet uygulaması için varsayılan html sayfasını tarayıcı aracılığıyla ziyaret ettiğimiz gibi görüyoruz. Biz özel modülü yüklemeden önce

O sayfa görülüyor: Burada zend-mvc-console modülü için docs olan ('Zend\Mvc\Console' modül tanımlarında eklendi) konsol afiş değildir önerildiği gibi modül yüklendikten sonra bile https://zendframework.github.io/zend-mvc-console/intro/

gösterilen. Yöntemler içinde var dökümü ile test ettim ve verileri görüntüleyebiliyorum, böylece çerçeve bu yöntemleri yürütüyor ancak konsolda hiçbir sonuç göstermiyor.

Konsol yolları ve denetleyicileriyle test ettim. Rota bulundu, denetleyici eylemi yürütüldü, ancak yine uçta hiçbir şey gösterilmiyor.

Çerçevenin kodunda kazdım ve Zend\Mvc\Console\ResponseSender\ConsoleResponseSender sınıfının hiçbir zaman yürütülemediği görülüyor.

CLI'de bir şey görüntülemek için bazı view_manager stratejilerini kaydetmem gerekiyor mu? https://gist.github.com/kachar/06f0c9096bcc1cc0b00f4612aed1b68b

uygulamayı çalıştırma:: Kendi belgelerine Başına

$ 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

O zend-mvc-konsolda bir hata olabilir: https://github.com/zendframework/zend-mvc-console/ issue/12 – avy

+0

@kachar: @weierophinney tarafından önerilen şekilde zf-console uygulamasında başarılı oldunuz mu?Eğer yaparsan, bizimle nasıl paylaşırsın? –

cevap

7

, MVC <-> Console integration is deprecated İşte

zf3 iskelet uygulama üstünde kaynaklarıdır. Uygulamanız için bina konsolu işlevi için zf-console veya symfony console kullanmanızı öneririz.

, zend-mvc-console ile ilgili sorunlardan haberdarız ve kısa süreli sorunlarınızı çözecek olan kısa bir yama yayınlayacağız. Bununla birlikte, uzun vadede başka bir çözüme geçmenizi öneririz.

İlgili konular