小编enu*_*mag的帖子

Bash:检查管道中的输入是否为空

假设我有一个 bash 命令mycommand。有时它会向输出写入一些内容但总是返回退出代码 0。我需要使用管道将退出代码修复为 0 以表示空输出,而其他内容则表示非空输出。

mycommand | ???
Run Code Online (Sandbox Code Playgroud)

我对 ifs 或自定义命令不感兴趣。我只想要一个简单的命令,比如 grep 和一些参数来检查它的输入是否为空并返回退出代码。

如果输入不为空,则最好打印输入,但它不是强制性的。

bash

6
推荐指数
2
解决办法
7048
查看次数

Symfony/Validator:回调中的属性验证

我正在尝试使用基于给定国家/地区验证的邮政编码创建一个地址实体。要走的路显然是 CallbackValidator。现在我有这个代码:

use SLLH\IsoCodesValidator\Constraints\ZipCode;
use Symfony\Component\Validator\Constraints\Callback;
use Symfony\Component\Validator\Context\ExecutionContextInterface;

class Address
{
    /**
     * @Callback()
     */
    public function validatePostalCode(ExecutionContextInterface $context)
    {
        $constraint = new ZipCode([ 'country' => $this->country ]);
        $violations = $context->getValidator()->validate($this->postalCode, $constraint);

        foreach ($violations as $violation) {
            $context->getViolations()->add($violation);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这样做的问题是违规行为没有正确的路径。不过不知道怎么设置。还$context->buildViolation($violation->getMessage())并不好,因为我不得不手动复制所有的违规可能具有的特性。

编辑:我试过了,它确实很丑

php validation symfony

5
推荐指数
1
解决办法
689
查看次数

pecl install - 如何指定选项?

我正在尝试event使用 pecl 安装 PHP 扩展。在安装过程中我收到几个提示:

Enable internal debugging in Event [no] : 
Enable sockets support in Event [yes] : 
libevent installation prefix [/usr] : 
Include libevent's pthreads library and enable thread safety support in Event [no] : 
Include libevent protocol-specific functionality support including HTTP, DNS, and RPC [yes] : 
Include libevent OpenSSL support [yes] : 
PHP Namespace for all Event classes [no] : 
openssl installation prefix [no] : 
Run Code Online (Sandbox Code Playgroud)

但 ofc 这只发生在交互模式下。我需要在没有交互的情况下执行此操作,例如在 Dockerfile 中。默认值对我不起作用,因此我需要使用命令行选项更改它们。如何?

请记住,我需要对每个问题给出不同的答案,所以yes '' | pecl …

php pecl

4
推荐指数
1
解决办法
6179
查看次数

基于数据的Symfony / Form添加属性

在我的一种自定义表单类型中,我需要向该字段添加一个自定义HTML属性。但是,该属性基于数据。因此,我添加了一个事件处理程序,但不确定该如何处理。

$builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
    $data = $event->getData();
    // not sure what to do here.
};
Run Code Online (Sandbox Code Playgroud)

也许应该在其他地方完成。请记住,对于我的用例,我需要最初设置为表单的数据,而不是提交的数据。

编辑:有人要求我提供我想要达到的目标的更多详细信息。基本上,我需要将数据库中的初始数据(在PRE_SET_DATA事件中可用)放入data-*HTML属性,以便javascript可以使用它。

更新:即使几个月后也没有好的答案,所以我认为目前不可能解决这个问题。

php symfony

3
推荐指数
2
解决办法
1284
查看次数

Symfony/Console:如何使用多个进度条?

我有一个Symfony/Console命令,它使用Guzzle Pool一次下载几个文件.我已经有Guzzle报告每个文件的下载进度,这很好.

现在我想使用Symfony/Console 的ProgressBar帮助器来改进它.问题是我为ProgressBar找到的所有示例只使用一个进度条.我需要几个独立的进度条 - 每个下载一个.你能给我一些提示如何实现吗?

php symfony guzzle symfony-console

3
推荐指数
2
解决办法
2848
查看次数

标签 统计

php ×4

symfony ×3

bash ×1

guzzle ×1

pecl ×1

symfony-console ×1

validation ×1