问题标签 [symfony-console]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Symfony 控制台 - 显示不带参数的命令帮助
我正在开发一个非常简单的 Symfony 控制台应用程序。它只有一个带有一个参数的命令和几个选项。
我按照本指南创建了Application
该类的扩展。
这是该应用程序的正常用法,并且运行良好:
php application <argument>
这也可以正常工作(带有选项的参数):
php application.php <argument> --some-option
如果有人在php application.php
没有任何参数或选项的情况下运行,我希望它像用户运行一样运行php application.php --help
。
我确实有一个可行的解决方案,但它不是最佳的,而且可能有点脆弱。在我的扩展Application
类中,我重写了该run()
方法,如下所示:
默认情况下,Application::run()
使用 null 调用InputInterface
,所以在这里我想我可以检查参数的原始值并强制添加一个帮助选项以传递给父方法。
有没有更好的方法来实现这一目标?
php - Symfony 从服务器上的控制器运行命令
我想从控制器中清除缓存。我已将命令定义为服务并调用它。
In my controller I have a form to choose a command, and when the cache-clearing command is chosen it runs:
然而,这会运行一段时间,因为它也会预热缓存(我实际上希望它也能预热它)。它也超时,所以我也需要set_time_limit
它。
有没有办法在浏览器中返回响应并让命令在服务器上运行并完成?我不希望客户一直等待它完成。
php - 如何从 Symfony 控制台应用程序中的类登录
当我一直在阅读文档和示例时,我发现 aLoggerInterface
是通过依赖项的构造函数传递的,如此处所示,这允许依赖项输出到控制台。
我的问题是:
如果我有多个类,我是继续在构造函数中传递 a
LoggerInterface
还是有更好的做法?或者我什至不应该将它传递给这些课程?如果我想让一个类在没有 a 的情况下工作
LoggerInterface
,我是否总是只检查是否$this->logger
为 null 然后采取相应的行动?
例如,
php - 如何在 Symfony 控制台中禁用命令的输出?
我在 Magento 2 中编写了一个模块,实际上是一个自定义命令。显然,Magento 2 控制台应用程序由Symfony Console提供支持。我关心的是如何禁用$output
指定命令的输出?
例如:
不幸的是,即使我设置--quiet
为 true,该命令的输出setup:upgrade
仍然存在。
有任何想法吗?
symfony - Symfony 3:翻译:Webprofiler 与控制台输出
我目前正在处理一个项目的翻译部分。现在我对 Webprofiler 和控制台中 Symfony 的不同调试输出感到非常困惑。
Webprofiler 总是给我正确的信息(定义了消息,使用了回退):
但是,控制台输出非常不令人满意,并且似乎没有认识到 Id 丢失并且使用了 1 个后备...
我只是想让翻译调试工作,正如这里解释的那样:http: //symfony.com/doc/current/book/translation.html#debugging-translations
消息存储在app\Resources\AppBundle\translations
.
我在 Win 7 和 Xampp 下工作。如果您需要任何进一步的信息,请告诉我。
php - 在 Symfony 控制台中调用现有的 apache 命令
我正在尝试构建一个命令行应用程序,以帮助为我设置一个新的本地开发环境。它只是创建了一些文件来链接虚拟主机的东西。我没有手动做任何事情。
我只是不确定如何重新启动 apache 部分。这是我的主要文件;
我今天才刚刚开始学习 Symfony 控制台/文件系统,所以不太确定调用已经存在的命令的正确方法,比如sudo apachectl restart
然后powder up
php - 覆盖/更新 php 文件中的变量/数组
在我最近的项目中,处理控制台命令,我需要根据 linux 标准约定执行/运行 json 中提到的各种操作
并且 param 模式与 linux 约定几乎完全相同。
当前设置(Mkdir,触摸)
Json 模式(数组)
它遍历所有动作并解析每个what
类型(mkdir,touch)的动作类,例如MkdirOperation
分别用于mkdir和调用句柄函数。
要求:
所以,基本上我想根据特定规则更新/覆盖我提到的变量/数组,为此,我尝试在 json 模式中准备规则:
我正在使用的组件
- symfony/控制台
- symfony/finder
- Symfony/文件系统
寻找:
- 建议以这种方式组织规则集模式,以迭代更新/覆盖变量或从数组中推/拉元素的所有操作并执行操作。
- 更新特定变量值的机制,以及使用 php 从数组/子数组中推/拉元素的机制。
如果我身边仍有不清楚的地方,请告诉我。提前致谢。
terminal - PhpStorm 终端:Cygwin 颜色不起作用
我有 PhpStorm 2016.2,并在 Shell 路径中添加了 Cygwin,如下所示:"C:\cygwin64\bin\env.exe" CHERE_INVOKING=1 /bin/bash.exe
它工作得很好,但颜色不起作用。例如,我没有?[32m Name
用Name
绿色着色。
我尝试了几件事,例如添加插件 Grep Console 以支持 ANSI Color,但没有奏效。
使用多种 ANSI 颜色的线条真的很难?[39m ?[32m Scheme ?[39m ?[32m Host ?[39m ?[32m Path
。
不要犹豫,询问有关该问题的更多信息。谢谢你。
PS我在Windows 10上。
编辑
当我/usr/bin/which php
在 PHPStorm 终端中进行操作时,我得到/cygdrive/d/wamp2/bin/php/php5.6.16/php
. 我的 WAMP 中有 php5.6.16 和 php7.0.0,我目前正在使用 php7.0.0。
编辑 2我为 php7.0.0 添加了一个 $PATH,所以现在我/cygdrive/d/wamp2/bin/php/php7.0.0/php
有了/usr/bin/which php
。但主要问题仍然存在。
symfony - 在 Symfony2 控制台应用程序中渲染模板
我正在使用 Symfony 2.8,我想在 Symfony 控制台应用程序中呈现模板。基本上我可以渲染模板,但它正在尝试从file
协议中获取资产。我需要从http
协议中获取这些资产,以便从该模板创建 pdf。我确实尝试了范围,但它没有用。
实际上问题是我希望模板使用正确的资产和图像 url 呈现。我想获得完全呈现的 html。
symfony - 清理项目缓存后浏览器关闭 [symfony2]
我在 symfony 2.3 中有一个项目。我不得不清理它的缓存以释放我的服务器的一些空间。但是在我没有之后,浏览器甚至没有像以前那样加载页面。它转到链接并在关闭后没有任何响应。
我不知道哪些信息对这个问题有用。我刚刚运行了命令:
我也必须清理 prod 环境的缓存吗?
清理项目的缓存对项目有危险吗?我一直认为这可能会使整个事情崩溃。
谢谢