问题标签 [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.
symfony - Symfony Doctrine CLI 工具“找不到路径”
我在使用 symfonys cli 工具时遇到了一个奇怪的问题。我正在尝试更新我使用 cli 工具创建的实体(那里没有问题),它会引发此错误。
奇怪的是:给定的路径D:\w\Framework\AcmeBundle\Entity
是正确的。该实体可以由框架使用,并且我在其他任何地方都没有收到有关路径的任何错误。所以该工具显然知道路径,但说它不知道。
有人知道这个问题吗?
php - 如何在 Symfony2 应用程序中创建控制台命令
我需要为 Symfony2 应用程序创建一个控制台命令,我在这里和这里阅读了文档,尽管我不确定我应该遵循哪些。所以这就是我所做的。
- 在下创建一个文件
/src/PDI/PDOneBundle/Console/PDOneSyncCommand.php
写下这段代码:
- 在下创建一个文件
/bin
写下这段代码:
!/usr/bin/env php
需要 __ DIR __ .'/vendor/autoload.php';
使用 PDI\PDOneBundle\Console\Command\PDOneSyncCommand;使用 Symfony\组件\控制台\应用程序;
$应用程序=新应用程序();$application->add(new PDOneSyncCommand()); $应用程序->运行();
- 在下创建一个文件
php app/console --shell
但是当我通过运行并点击进入控制台时,ENTER
我看不到注册的命令,我错过了什么?
注意:比我更有经验的人可以正确格式化第二段代码吗?
更新 1
好的,按照建议并以答案为起点,我构建了这段代码:
但是每当我调用任务时,我都会收到此错误:
[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException] 你请求了一个不存在的服务“login_uri”。
为什么?我不能访问parameter.yml
文件中的参数吗?我在哪里失败?
symfony - Symfony:如何自定义可用命令的输出?
我们正在使用symfony/console(顺便说一句很棒的库)构建一个控制台应用程序。可用的命令显示如下:
命令的名称显示为绿色,描述显示为白色。
目前,可用命令是唯一的部分。有没有一种使用 OOP 为命令创建多个部分的简单方法?
或者,有没有办法改变命令标签的绿色?
php - PSR-4 代码库中教义生成器的解决方法
在 Windows 机器上使用 Symfony 2 & Doctrine 我正在尝试
从现有模式生成实体:
php app/console doctrine:mapping:import --force CoreBundle annotation
在它们上生成 getter/setter:
php app/console doctrine:generate:entities --path=/path/to/codebase/src/MyProject/CoreBundle/Entities CoreBundle
使用Voryx在它们上生成 REST CRUD 控制器:
php app/console voryx:generate:rest --entity="CoreBundle:User"
第一步工作正常,我可以在我的 CoreBundle/Entity 文件夹中找到具有正确命名空间的实体:
目前很好。但是,运行其他 2 个命令将失败:
我的 composer.json 中的自动加载如下所示:
我发现Doctrine 无法处理 PSR-4 namespaces,这可能是它失败的原因。
不过,我真的很希望实体生活在 PSR-4 CoreBundle 中 - 是否有解决方法?
我试过这个,但它也不起作用:
谢谢你。
symfony - 如何从 Heroku 的调度程序运行 Symfony 命令
我已经将 Heroku 的调度程序配置为运行 Symfony 2 命令:
并将其设置为每 10 分钟运行一次。
但是,在日志中我看到了这些消息:
这些是让我感到困惑的三个相关因素:
我有点困惑:文件app/console
似乎不存在,但随后脚本遇到意外的 EOF(但文件不存在 oO),然后文件意外结束(这与消息 immediatley 不是一回事前?
我究竟做错了什么?
json - 带有 json_encode 和 shell_exec 的 JSON 无效
我正在使用Symfony 的控制台组件编写一些命令行工具,其中一个使用 WP-CLI 来设置 WordPress 站点。特别是使用wp option update
我遇到了 JSON 和引号的问题。
例如,运行类似:
结果在数据库中的文字''
。事实上,每当我使用该命令时,如果它成功,我尝试在数据库中设置的任何内容都包含在单引号中。
然后是这样的:
转储结果:
这是有效的 JSON,但该wp
命令导致以下结果:
您会注意到引号已被删除,我认为这就是它所抱怨的?或者这就是它转储错误的方式?
无论哪种方式,然后我决定对 JSON 进行硬编码,所以只需:
这给了我以下错误:
错误:位置参数太多:,bitbucket_username:用户名,bitbucket_password:密码}'
我打赌这两个问题是相关的。我想这可能是一个 WP-CLI 问题,所以我在那里打开了一个问题,但没有得到答案就关闭了。然而,我越是盯着它看,我就越觉得它可能是 Symfony 的东西。也许我肯定需要使用流程组件而不是shell_exec
?这就是它的设计目的吗?
更新:尝试了 Symfony 进程组件:
仍然得到我的两个报价。所以那里什么也没做。
symfony - 在同一个文件中注册多个控制台命令
创建控制台命令需要创建一个PHP文件,后缀为Command.php。例如,我想创建 DocumentCommand.php。
困难来了。我想在这里插入 3 个命令,例如:
如果可能的话,在单个文件(DocumentCommand.php)中执行此操作的最佳方法是什么?
问候,R。
php - 控制台命令选项不应删除空格
我在 bash 脚本中有一个命令:
使用此选项:
当我运行命令时
看看这个选项
然后它修剪空格
这是为什么?如何抑制它或正确地将选项放入我的命令中?
提前致谢!
php - Symfony 控制台“询问”不接受空值
我正在使用 symfony 控制台包,在该包中我让它在执行命令时请求一个值,也就是在public function execute(...)
.
当试图向用户询问某事时,我认为如果您不制作自己的自定义样式,这是两种不同的方法。a)使用问题助手,b)使用预定义的样式,因此SymfonyStyle
我开始使用SymfonyStyle
运行简单ask("question here")
,如果我没有给它一个值,它会一直给我错误。如果我改为使用帮助程序,直接创建问题,那么它将允许我给它一个空值。
下面是一些例子:
查看 的文件SymfonyStyle
,看起来它在验证方面并没有太大的不同,正如班级所说,它只是样式。那么有什么我遗漏的东西是这两者之间的区别吗?是否有可能实现SymfonyStyle
完全接受空洞的答案?
php - 资产文件不存在错误,即使不再引用文件?
我有一个我过去创建的名为 main.less 的文件。我删除了它,因为我不再需要它,但现在我尝试运行时收到以下错误bin/console assetic:watch
或bin/console assetic:dump
无论使用的环境如何。
在我这样做之前一直在工作的当前例程是创建一个运行以下命令的 shell 脚本文件:
我总是以 root 身份运行它以确保一切正常,但文件归用户分发所有。
引用 less 和 javascript 文件的唯一文件是...
base.html.twig
我的目录结构如下所示,直接来自我的 FTP
您会注意到 main.less 现在位于骨架包中,而不是应用程序包中。我把它移到了这里,但由于某种原因它认为它仍然在应用程序包中而不是骨架包中??
如何修复此错误?
额外信息:
当我对错误进行详细跟踪时,我得到了资产:转储
Config.yml 资产设置:
骨架包中的 Main.less
appBundle 中的 Admin.less 文件
admin.html.twig