小编Hri*_*cer的帖子

Symfony 可翻译枚举

我的供应商实体具有枚举属性notifyType。知道如何以这种方式翻译枚举吗?

{{ supplier.notifyType|trans }}
Run Code Online (Sandbox Code Playgroud)

不幸的是,在 Enum 中使用 __toString 方法是不可能的。

{{ supplier.notifyType|trans }}
Run Code Online (Sandbox Code Playgroud)

然后我就尝试了这个:

// error - Enum may not include __toString
public function __toString(): string
{
    return 'supplier.notify.'.$this->name;
}
Run Code Online (Sandbox Code Playgroud)

但不可能将可翻译对象传递给 trans 方法。仅接受字符串。

use Symfony\Contracts\Translation\TranslatableInterface;
use Symfony\Contracts\Translation\TranslatorInterface;

enum NotifyType: int implements TranslatableInterface
{
    case EMAIL = 1;
    case WEBHOOK = 2;
    case PUNCH_OUT = 4;

    public function trans(TranslatorInterface $translator, string $locale = null): string
    {
        return $translator->trans('supplier.notify.'.$this->name, locale: $locale);
    }
}

Run Code Online (Sandbox Code Playgroud)

php enums symfony symfony-translator

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

无法打开文件'SOIL.libkernel32.lib'

我需要在我的项目中使用SOIL库.我的步骤:

  1. 下载并解压缩到我的项目文件夹

  2. 将libSOIL.a重命名为SOIL.lib

  3. 属性>> C/C++>常规>>附加包含目录 - 添加"./SOIL/src"

  4. 属性>>链接器>>常规>>附加库目录 - 添加"SOIL.lib"

  5. 把#include"SOIL.h"

找到了函数*SOIL_load_image*但是

错误LNK1104:无法打开文件'SOIL.libkernel32.lib'

c++ opengl soil visual-studio-2012

3
推荐指数
1
解决办法
2662
查看次数