问题标签 [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 - Defining a Symfony command as a service causes preg_match() exception
I have the following command, which successfully prints styled messages to the bash terminal when called:
... but when I add the following in services.yml in order to try to define my command as a service ...
... I get this error:
Warning: preg_match() expects parameter 2 to be string, object given in src/app/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:665
What am I doing wrong here?
php - 使用 Symfony 控制台 (CTRL+C) 捕获终端终止/退出
我已经构建了一个命令来触发通过 Internet 下载文件,但是由于这些文件需要由另一个组件处理,我们需要确保每个已下载且在过去 10 秒内未修改的文件是正确的视频并且没有损坏/部分下载。
出于这个原因,我们需要找到一种方法来捕获 CTRL+C 或命令终止并清理任何尚未成功下载的适用文件。
到目前为止,这是我尝试使用symfony/console
and的方法symfony/event-dispatcher
:
但是var_dump()
,如果我执行 CTRL+C,则永远不会在控制台中显示。
建议?
php - symfony/控制台输入长度
我正在编写一个 symfony/console 应用程序(使用 v4 组件),我遇到了问题输入长度的问题。
当要求用户输入时,似乎我最多只能输入 1023 个字符?有没有办法增加这个 - 还是有其他影响这个?
使用 OSX、iTerm2、PHP 7.1
谢谢。
编辑:问题要求一个安全令牌,这是一个很长的字符串 - 因此需要更多的字符。
symfony - Symfony 4 - 3rd-party bundle 命令不再被自动发现
根据文档,命令类必须扩展 Command 或 ContainerAwareCommand 才能被自动发现和注册(当然,前提是它的包已在内核中注册)。
从 Symfony 4+ 开始,这个发现并没有像预期的那样工作。
尝试这个:
你会注意到:
- cravler:maxmind:geoip-update 未注册(“cravler”命名空间下没有任何内容
- Cravler\MaxMindGeoIpBundle\Command\UpdateDatabaseCommand 扩展了 ContainerAwareCommand
- Bundle Cravler\MaxMindGeoIpBundle\CravlerMaxMindGeoIpBundle 在所有环境的 config/bundles.php 中注册(自动生成的配方)
现在,当我用 Symfony 3 做同样的事情时,一切正常。
那里缺少什么?
谢谢,
本
symfony - 如何在 Symfony 命令中获取我的服务器 IP?
有什么方法可以获取我的服务器 IP?我正在编写一个需要我的服务器 IP 作为参数的命令?尝试过request_stack
,但它没有按我的预期工作。
symfony - 使用 Symfony2 手动定义路由
我已经设置了我的实体,现在我想使用学说:generate:crud,在这个命令期间它会询问我想要什么路由前缀。我希望这意味着路线会自动生成,这不会发生。所以我需要知道它是否应该生成路由,或者我是否应该手动创建它们?如果是我需要手动生成它们的情况,是否有路由类来定义 CRUD 操作的所有路由?
php - 使用 Symfony 更新命令中的实体
我正在尝试使用 Symfony 3.4 为控制台创建一个命令。基本上通过控制台添加角色。
首先,我能够通过ContainerAwareCommand
然后像这样从输入中获取用户对象
此行的错误显示:
错误:
实体:
php - Symfony2 控制台,按位选项,使用可选的 --no 前缀?
有没有人通过 Symfony2 控制台使用按位运算符?或者类似于 style of 的东西--[no-]flag
?
我遇到了一个可以使用的实例--[no-]hardware
,--[no-software]
用于触发包含/排除硬件、包含/排除软件。我总共有 3 个可以触发的不同选项。
我可以使用 symfony/console 2.8.x 在此功能上参考任何在线示例吗?
symfony - Symfony 3.4 CLI:命令“doctrine:generate:entity”未定义
我正在使用 Symfony 3.4,两周前我在这个项目中多次使用了学说:生成:实体,今天我遇到了一个问题,我不知道是什么原因!
命令教义:生成:实体,形式和杂物从 CLI 中消失:
symfony - 使用教义:数据库:创建时,如何创建具有特定追逐和排序规则的数据库?
先说短版:
我希望该命令doctrine:database:create
使用正确/定义的字符集和排序规则创建数据库。如何做到这一点?(在最好的情况下,无需更改服务器上的任何全局设置。)
详细版本:
上下文是 Symfony 4 应用程序和 Doctrine 2。DBMS:MySQL,操作系统:Ubuntu 14.04。我想用 Doctrine 创建数据库:
后台执行Doctrine的SQL语句为:
意思是:它不使用charset
and中的collate
设置,.../config/packages/doctrine.yaml
并且DATABASE_URL
in.../.env
被忽略。
.../config/packages/doctrine.yaml
.../.env
数据库DEFAULT_CHARACTER_SET_NAME
是latin1
然后DEFAULT_COLLATION_NAME
是latin1_swedish_ci
: