Skip to content

Commit b0d0c04

Browse files
committed
feat: add symfony serializer facade
1 parent 68ca905 commit b0d0c04

File tree

4 files changed

+43
-0
lines changed

4 files changed

+43
-0
lines changed

psalm-baseline.xml

+5
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@
6868
<code><![CDATA[it_gets_manager_from_facade]]></code>
6969
</PossiblyUnusedMethod>
7070
</file>
71+
<file src="tests/src/Functional/Bridge/Laravel/Facades/SerializerTest.php">
72+
<PossiblyUnusedMethod>
73+
<code><![CDATA[it_gets_symfony_serializer_from_facade]]></code>
74+
</PossiblyUnusedMethod>
75+
</file>
7176
<file src="tests/src/Functional/Bridge/Laravel/Http/ResponseFactoryTest.php">
7277
<PossiblyUnusedMethod>
7378
<code><![CDATA[it_creates_from_array_iterator]]></code>
+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace WayOfDev\Serializer\Bridge\Laravel\Facades;
6+
7+
use Illuminate\Support\Facades\Facade;
8+
9+
class Serializer extends Facade
10+
{
11+
protected static function getFacadeAccessor(): string
12+
{
13+
return 'symfony.serializer';
14+
}
15+
}

src/Bridge/Laravel/Providers/SerializerServiceProvider.php

+1
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ private function registerSymfonySerializer(): void
156156
});
157157

158158
$this->app->singleton(SymfonySerializer::class, SymfonySerializerInterface::class);
159+
$this->app->alias(SymfonySerializerInterface::class, 'symfony.serializer');
159160
}
160161

161162
private function registerSerializerManager(): void
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace WayOfDev\Tests\Functional\Bridge\Laravel\Facades;
6+
7+
use PHPUnit\Framework\Attributes\Test;
8+
use Symfony\Component\Serializer\SerializerInterface as SymfonySerializerInterface;
9+
use WayOfDev\Serializer\Bridge\Laravel\Facades\Serializer;
10+
use WayOfDev\Tests\Functional\TestCase;
11+
12+
final class SerializerTest extends TestCase
13+
{
14+
#[Test]
15+
public function it_gets_symfony_serializer_from_facade(): void
16+
{
17+
$serializer = Serializer::getFacadeRoot();
18+
19+
self::assertNotNull($serializer);
20+
self::assertInstanceOf(SymfonySerializerInterface::class, $serializer);
21+
}
22+
}

0 commit comments

Comments
 (0)