ahmetbarut / laravel-multi-route
此包已废弃,不再维护。未建议替代包。
Laravel多语言路由使用
1.2
2021-07-03 14:33 UTC
This package is auto-updated.
Last update: 2023-03-29 01:01:52 UTC
README
它回来了,使用比以前更简单,类似于Symfony路由的多语言路由包
设置
composer require ahmetbarut/laravel-multi-route
功能
- 可用注解
- 多语言
- 中间件
- 分组
- 前缀
- 名称
使用
简单使用
如果您愿意,可以在数组中指定要使用的语言及其索引。这种使用可能会使路由文件膨胀
use AhmetBarut\Multilang\Route; use App\Http\Controllers\SomeController; Route::get([ 'en' => '/', 'tr' => '/tr', 'es' => '/es' ], function () { return 'index'; }); // OR Route::get([ 'en' => '/', 'tr' => '/tr', 'es' => '/es' ], [SomeController::class, 'index']);
使用注解
使用注解可以使它看起来更简单、更美观,并且从注解中可能更清楚地了解哪个方法支持哪些地区。
必须使用
@Route
指令,否则将无法发现路由
示例
use AhmetBarut\Multilang\Route; use App\Http\Controllers\SomeController; /** * @Route(en, /en) */ Route::get([SomeController::class ,'index']); // SomeController.php class SomeController extends Controller { /** * @Route(en, /en) */ public function index() { return 'index'; } }
使用数组注解
use AhmetBarut\Multilang\Route; use App\Http\Controllers\SomeController; Route::get([SomeController::class ,'index']); // SomeController.php class SomeController extends Controller { /** * @Route([en =>, tr => /tr, es => /es]) */ public function index() { return 'index'; } }
您必须使用
group
方法来使用前缀、全局中间件等功能。
使用名称和中间件
use AhmetBarut\Multilang\Route; use App\Http\Controllers\SomeController; Route::group(['middleware' => 'web', 'prefix' => 'hello'], function () { Route::get([SomeController::class, 'index'])->name('home'); Route::get([SomeController::class, 'create'])->name('create'); }); // SomeController.php class SomeController extends Controller { /** * @Route([en => /, tr => /tr, de => /de]) */ public function index() { return 'index'; } }