php - versión - progressive web apps ejemplos
Cómo crear la aplicación de consola ZF3 (2)
En Zend Framework 2 es muy sencillo agregar el banner del módulo inicial a las aplicaciones de la consola.
Todo lo que necesitamos es implementar los métodos getConsoleBanner
y getConsoleUsage
e implementar las Zend/ModuleManager/Feature/ConsoleUsageProviderInterface
o ConsoleBannerProviderInterface
.
Esto es lo suficientemente bueno para volcar esos mensajes en la consola cuando se inicia public/index.php
a través de CLI.
En Zend Framework 3 no es lo mismo.
Hacer la misma configuración no proporciona el mismo resultado. En realidad, en la consola, vemos la página html predeterminada para la aplicación de esqueleto de la misma manera que la visitamos a través del navegador.
Esa página se está viendo antes de instalar el módulo personalizado: Aquí están los documentos para el zend-mvc-console
https://zendframework.github.io/zend-mvc-console/intro/
Incluso después de instalar el módulo como se sugiere ( ''Zend/Mvc/Console''
agregado en las definiciones de los módulos) no se muestran los banners de la consola. He probado con var dumping dentro de los métodos y puedo ver los datos, por lo que el marco de trabajo ejecuta esos métodos pero no muestra resultados en la consola.
He probado con consolas y controladores. Se encuentra la ruta, se ejecuta la acción del controlador pero no se muestra nada en el cli nuevamente.
He excavado en el código del marco y parece que la Zend/Mvc/Console/ResponseSender/ConsoleResponseSender
nunca se ejecuta.
¿Tengo que registrar algunas estrategias de view_manager
para poder mostrar algo en el CLI?
Aquí están las fuentes en la parte superior de la aplicación de esqueleto zf3: https://gist.github.com/kachar/06f0c9096bcc1cc0b00f4612aed1b68b
Ejecutando la aplicación:
$ 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
Puedes usar el módulo zend-mvc-console. La misma API que la consola zf2 :) Tenga en cuenta que este módulo quedará en desuso pronto.
Fuentes:
Según nuestra propia documentación, la integración de MVC <-> Console está en desuso . Recomendamos utilizar zf-console o la zf-console symfony para crear la funcionalidad de la consola para tu aplicación.
Somos conscientes de los problemas con zend-mvc-console, y pronto publicaremos un parche para solucionarlos, lo que solucionará sus problemas a corto plazo. Sin embargo, recomendamos migrar a otra solución a largo plazo.