如何在另一个控制器中使用一个控制器的方法

How to use methods from one controller in another

我已经安装了用于处理翻译文件的 waavi 包。我需要使用从它的控制器到我的方法吗?我尝试过类似的方法,但它不起作用

LanguageRepository::findByLocale(1);

这就是我在控制器开头使用的内容

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

use Waavi\Translation\Repositories\LanguageRepository;

use Waavi\Translation\Repositories\TranslationRepository;

use Illuminate\Foundation\Application;

如果您已成功完成 here 中的所有步骤,您应该能够使用依赖注入访问 LanguageRepository(“建议您通过依赖注入实例化此 class”)

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use Waavi\Translation\Repositories\LanguageRepository;

class DefaultController extends Controller
{
    private $language_repository;

    function __construct(LanguageRepository $language_repository)
    {
        $this->language_repository = $language_repository;
    }

    public function index()
    {
        dd($this->language_repository->findByLocale("en"));
    }
}

注意:您需要将语言字符串而不是 id 传递给 findByLocale 方法。见 line 97