時はLaravel v12.22.0。
アトリビュートでDIができるようになった。
そう、Javaでいうアノテーション。
あれでだ!
ということを今(v12.41.1)知り、喚起しているNな人です。
見比べていきましょう
昔
<?php
class RepositoryServiceProvider extends ServiceProvider
{
public function register(): void
{
$this->app->singleton(UserRepositoryInterface::class, UserRepository::class);
// ....
}
今
<?php
#[Bind(UserRepository::class)]
#[Singleton]
interface UserRepositoryInterface
{
}
めっちゃ良くないですか?
interfaceにnewしたい実クラスを書くだけです。
これからいちいちproviderに書かなくて良くなり、楽になりますね!
この記事を書いた人
Nな人(えぬなひと)。
Nは本名から取っています。
Laravelが大好きなPHPerで、WEBを作るときはLaravelを技術スタックに絶対推すマン。
PHP、Pythonと、昔はperlを書いていたP言語エンジニア。
最近はNimを書いたりしています。
Nは本名から取っています。
Laravelが大好きなPHPerで、WEBを作るときはLaravelを技術スタックに絶対推すマン。
PHP、Pythonと、昔はperlを書いていたP言語エンジニア。
最近はNimを書いたりしています。