ComposerとInterfaceとDIを使って業務内のコードを外部公開する by 新倉涼太

PHP Conference Japan 2021
採択
2021/10/03 13:35〜
Track2
Regular session (25 mins)
Architecture Composer

ComposerとInterfaceとDIを使って業務内のコードを外部公開する

niisantokyo 新倉涼太 niisantokyo

今では当たり前となった、自身の知識や成果をGitHubに公開するということですが、今回は業務内で実際に書いたコードを、問題なく自然な形で公開する一連の流れを私の体験をもとにしてシミュレートしてみます。
今回はファイルのウイルスチェックをする機能がLaravelで書かれた業務コード上に直接実装されている状態を想定してみます。ウイルスチェック自体は業務とは何の関係もないため、何とか機能を分離してメンテナンスしやすくすることを考えます。
まず初めにやることは、InterfaceとDIを駆使して、ウイルスチェック機能を業務コードから切り離しです。
ここからウイルスチェック機能をいったん外部コードとして公開し、Composerを使って業務コードに逆輸入するように修正します。これで、業務に直接関係ないコードをリポジトリの外に追い出せるとともに、自身の実績を外部に公開することができます。
最後に、Laravelとの接続部分とウイルスチェックの本体実装を分離し、特定のフレームワークとの依存性も排除し、より広範囲に使える状態を実現します。
この発表を通して、InterfaceとDIの活用方法や、Composerによる依存性管理の便利さを再認識いただけると幸いです。

Discord Channel: #track2-6-b-composer-interface-di