Skip to content

Commit 263311f

Browse files
authored
Add a localizedHas macro... (#33)
...to easily check if a route name exists without worrying about prepending the locale. It will either accept a locale as the second argument, or use the current identified locale.
1 parent 33bfafa commit 263311f

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

src/LocalizedRoutesServiceProvider.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace CodeZero\LocalizedRoutes;
44

55
use CodeZero\LocalizedRoutes\Macros\IsLocalizedMacro;
6+
use CodeZero\LocalizedRoutes\Macros\LocalizedHasMacro;
67
use CodeZero\LocalizedRoutes\Macros\LocalizedUrlMacro;
78
use CodeZero\LocalizedRoutes\Macros\UriTranslationMacro;
89
use CodeZero\LocalizedRoutes\Macros\LocalizedRoutesMacro;
@@ -49,6 +50,7 @@ public function register()
4950
protected function registerMacros()
5051
{
5152
IsLocalizedMacro::register();
53+
LocalizedHasMacro::register();
5254
LocalizedRoutesMacro::register();
5355
LocalizedUrlMacro::register();
5456
UriTranslationMacro::register();

src/Macros/LocalizedHasMacro.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
namespace CodeZero\LocalizedRoutes\Macros;
4+
5+
use Illuminate\Support\Facades\App;
6+
use Illuminate\Support\Facades\Route;
7+
8+
class LocalizedHasMacro
9+
{
10+
/**
11+
* Register the macro.
12+
*
13+
* @return void
14+
*/
15+
public static function register()
16+
{
17+
Route::macro('localizedHas', function ($name, $locale = null) {
18+
$locale = $locale ?? App::getLocale();
19+
if (! $this->routes->hasNamedRoute($locale . ".{$name}")) {
20+
return false;
21+
}
22+
23+
return true;
24+
});
25+
}
26+
}

0 commit comments

Comments
 (0)