> buatkan service providernya -> php artisan make:provider TranslateServiceProvider
Isinya :
<?php
namespace App\Providers;
use App\Library\Services\Translate;
use Illuminate\Support\ServiceProvider;
class TranslateServiceProvider extends ServiceProvider
{
/**
* Register services.
*
* @return void
*/
public function register()
{
$this->app->bind('App\Library\Services\Translate', function ($app) {
return new Translate("");
});
}
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
//
}
}
> Kalau belum ada folder Library\Services\ dibuatkan saja, dan sesuai diatas saya bukan class Translate di dalam folder service ini (Translate.php)
Isinya :
<?php
namespace App\Library\Services;
use Stichoza\GoogleTranslate\GoogleTranslate;
class Translate
{
public function translate($string)
{
$translate = new GoogleTranslate('en');
return $translate->translate($string);
}
}
> Setelah itu tambahkan/daftarkan service provider baru supaya terbaca disemua controller / global :
edit di file config/app, line 'providers' : App\Providers\TranslateServiceProvider::class
> Untuk pemanggilan di setiap controller cukup seperti ini :
<?php
namespace App\Http\Controllers;
use App\Dokumen;
use App\Library\Services\Translate;
class DokumenHomeController extends Controller
{
public function index(Translate $translate)
{
$dokumen_translate = $translate->translate("Param String yang dikirim untuk convert translate");
return view('dokumen.index', $dokumen_translate);
}
}
Tidak ada komentar:
Posting Komentar