我正在使用Laravel 5.3,而且我有一个配置文件,它正在调用trans()
函数。当我运行php artisan
时,它会给我一个错误
Class translator does not exist
这是我的配置文件
<?php
return [
'modules' => [
'name' => trans('menus.module'),
'url' => 'modules',
],
];
答案 0 :(得分:0)
简短回答:你不能。
答案很长: 在应用程序引导之前加载配置文件,因此没有转换器类,因为它尚未加载。
如果您计划缓存配置,那么您也不应该这样做,如您所见,它将无法按预期工作。
您可以通过执行此类操作在运行时更改它。
trait isA[T] {
def aux_foo(value: T): Int
}
object isA {
// "Summoner" method
def apply[T](implicit enc: isA[T]): isA[T] = enc
// "Constructor" method
def instance[T](func: T => Int): isA[T] = new isA[T] {
override def aux_foo(value: T): Int = func(value)
}
implicit def a1Encoder: isA[A1] = instance(i => 4)
implicit def a2Encoder: isA[A2] = instance(i => 9)
implicit def hnilEncoder: isA[HNil] = instance(hnil => 0)
implicit def hlistEncoder[H, T <: HList](implicit
hInstance: Lazy[isA[H]],
tInstance: isA[T]
): isA[H :: T] = instance {
case h :: t => hInstance.value.aux_foo(h) + tInstance.aux_foo(t)
}
implicit def genericInstance[A, R](implicit
generic: Generic.Aux[A, R],
rInstance: Lazy[isA[R]]
): isA[A] = instance { value => rInstance.value.aux_foo(generic.to(value)) }
}