Php 更改Laravel中转换函数的默认行为

Php 更改Laravel中转换函数的默认行为,php,laravel,translation,multilingual,Php,Laravel,Translation,Multilingual,出于调试目的,我希望无论何时调用,('non-existing-key'),都能看到printed,例如未找到字符串,这样我就可以抓取我的网站并搜索特定的字符串 有办法吗?在app/Extended中创建两个文件(如果文件夹不存在,则必须创建): ExtendedTranslationServiceProvider.php <?php namespace App\Extended; use Illuminate\Translation\TranslationServiceProvide

出于调试目的,我希望无论何时调用
,('non-existing-key')
,都能看到printed,例如
未找到字符串
,这样我就可以抓取我的网站并搜索特定的字符串


有办法吗?

app/Extended中创建两个文件(如果文件夹不存在,则必须创建):

ExtendedTranslationServiceProvider.php

<?php

namespace App\Extended;

use Illuminate\Translation\TranslationServiceProvider;

class ExtendedTranslationServiceProvider extends TranslationServiceProvider
{
    public function register()
    {
        $this->registerLoader();
        $this->app->singleton('translator', function ($app) {
            $loader = $app['translation.loader'];
            $locale = $app['config']['app.locale'];
            $trans = new ExtendedTranslator($loader, $locale);
            $trans->setFallback($app['config']['app.fallback_locale']);
            return $trans;
        });
    }
}

密钥必须完全是“不存在的密钥”,或者它表示任何未找到的翻译?我写了我的答案,但现在我不知道你是不是这个意思。妈的,我会尽快尝试,但我还是应该使用
\uuuu()
函数?我是否应该在引导方法中将此提供程序绑定到某个接口?……是的,您应该使用与以前相同的方法,但是,当存在未找到的转换(
if(empty($trans))
行时,字符串“string not found”将返回。不知何故,它不起作用。。。我使用的是6.x,可能是其他版本?嗯,我不确定,它是在7.x上测试的,尝试在函数的第一行添加
get
类似
echo 123;模具
并查看是否出现“123”。关于预期的行为,对吗?它应该向任何未找到的翻译显示“未找到字符串”,对吗?
<?php

namespace App\Extended;

use Illuminate\Translation\Translator;

class ExtendedTranslator extends Translator
{
    public function get($key, array $replace = [], $locale = null, $fallback = true)
    {
        $trans = parent::get($key, $replace, $locale, $fallback);
        if(parent::get($key, [], $locale, $fallback) === $key){
          return 'STRING NOT FOUND';
        }
        return $trans;
    }
}
'providers' => [
    ...
    App\Extended\ExtendedTranslationServiceProvider::class,
]