インプルの堀江@福井民です。
「今年は暖冬」と言われる度に「またまたご冗談を」と毎度のように笑って流しているのですが、今年の冬は格が違いました。2月なのに最高気温18℃ってなんの冗談よ。
(インプルは北海道にある会社ですが、私は福井からフルリモートで勤めています)
閑話休題!
PHPのフレームワークというとLaravelが主流となっている昨今ですが、私が初めてLaravelにふれたのが約7年前で、その頃はバージョンが5の時でした。そこからあっという間にバージョンは10になり、標準の機能が着実に拡張されていっているわけですが、それと並行して、開発を楽にしてくれるパッケージ、ライブラリも増えていました。
PHP、Laravelを使ったプロジェクトに携わる上で、開発の時短につながるようなパッケージやライブラリを知っておくのはとても意義があることなので、調べたことをシェアしたいと思います。
※
本記事では紹介のみに留めており、インストールや実装手順の解説はありません。あらかじめご了承くださいませ。
決済機能を追加したい
全ての決済方法、代行サービスに対応できるわけではありませんが、一部可能です。
Paypal
→Laravel Paypal
Stripe
→Laravel Cashier Stripe
ある決済代行サービスが提供するAPIを使い、開発しているWebアプリケーションに決済機能の追加をしたことがあるのですが、資料の精読が必要な分かなり大変だった記憶があります。特に指定がなければ、こういったライブラリを活用したいところですね。
チャット機能を追加したい
実態としては、Laravel標準の機能にプラスしてLaravel EchoとPusherなどを組み合わせて実現する形になるようです。チャットというと、FirebaseやAWSのAppSyncを使って開発するイメージもありますが、上記の方法であればLaravelだけで完結することができそうです。
メディアライブラリみたいな機能を追加したい
WordPressにあるようなやつです。これは私も使ったことがあって結構昔からあるライブラリなのですが、今も開発が継続されていることに驚きました。Amazon S3のようなクラウドストレージにも対応できて、カスタマイズしなくても使い勝手が良いです。
SNSログイン機能を追加したい
BtoC向けサービスで要件にあることが多いため、これはぜひ使いこなせるようになっておきたいですね!使いたいSNSログインが↑にない場合、Socialite Providerも探してみると吉です。
短縮URL生成機能を追加したい
短縮URLというとBitlyのような無料サービスもありますが、突然終了してしまったり、有料化してしまったり、とリスクがつきもの。なので、保有しているドメインを使って自前でやりたい、といった時に活用できそうです。
JavaScriptを書かずに動的なUIを実装したい
PHPとbladeテンプレートだけで、リアルタイム検索だったり自動更新といったフロント内で動的な処理を実装することができるライブラリです。ReactやVue.jsを入れるにはオーバースペックだけど、jQueryで頑張るのはちょっと・・・といったプロジェクトには向いていそうです。
画像最適化(圧縮など)をしたい
昨今では画像最適化の機能を提供しているCDNも増えてきているため、あえて自力開発する必要性はないかもしれませんが、例えば一定のルールに沿って画像を機械的に処理させたい、といった時には役に立つのかな、と思います。
SMS認証機能を追加したい
こちらはあくまでも一例として。Twilioを使って実装した例がよく検索でヒットするので、情報が少なくて・・・と困ることはあまりなさそうな印象です。
以上となります!
スピーディに機能を追加したいとなった時、こういったパッケージやライブラリを積極的に活用することが有力になるのはもちろんのことですが、冒頭でも書いた通り、選択肢としてもっておくだけでも意義があるのかなと強く思います。
この記事がお役に立てば幸いです!