我的供应商实体具有枚举属性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) 我需要在我的项目中使用SOIL库.我的步骤:
下载并解压缩到我的项目文件夹
将libSOIL.a重命名为SOIL.lib
属性>> C/C++>常规>>附加包含目录 - 添加"./SOIL/src"
属性>>链接器>>常规>>附加库目录 - 添加"SOIL.lib"
把#include"SOIL.h"
找到了函数*SOIL_load_image*但是
错误LNK1104:无法打开文件'SOIL.libkernel32.lib'