株式会社やどかりのニシカワです
よくお世話になっているQiitaですが、記事の投稿は初です
やどかり&ネッコス Advent Calendar 2021の9日目を担当します
#自己紹介
やどかりに入社していつの間にか半年経っていました
業務では主にPHP,Laravelを使ってWebアプリやLINEのミニアプリなどの開発を行なっています
最近はコーディングだけではなく設計から関わることも増えてきており、楽しいですが四苦八苦してます
#記事の内容
Laravel8.xにデフォルトでどんなライブラリが入っているのか?
メモ書き程度ですが紹介します。
#今回使用する言語
php 7.4
Laravel 8.73.2
#そもそもcomposerとは何か?
ライブラリやパッケージなどを管理するツール
パッケージの依存関係も考慮してくれるので超便利!
#デフォルトで記述されているもの
早速ですが、laravel8.73.2をインストールした際にcomposer.jsonにデフォルトで記述されているパッケージやライブラリがこちら
"require": {
"fruitcake/laravel-cors": "^2.0",
"guzzlehttp/guzzle": "^7.0.1",
"laravel/sanctum": "^2.11",
"laravel/tinker": "^2.5",
},
"require-dev": {
"facade/ignition": "^2.5",
"fakerphp/faker": "^1.9.1",
"laravel/sail": "^1.0.1",
"mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^5.10",
"phpunit/phpunit": "^9.5.10"
},
※require-devには本番環境で必要のない開発環境用のパッケージを記述します。
#本番環境で使うやつ
fruitcake/laravel-cors
クロスヘッダーオリジンなどの設定で使用
APIなどのアプリケーションリソースに外部からのアクセスを受け入れるためのCORSヘッダーを設定できる
guzzlehttp/guzzle
HTTPクライアント
HTTPリクエストを投げられる
GETやPOSTなどのHTTPリクエストを様々なオプションとともに生成し、レスポンスも取得できる
laravel/sanctum
SPA(シングルページアプリケーション)
モバイルアプリケーション
などシンプルなトークンベースのAPIに軽い認証システムを提供する
laravel/tinker
対話型コンソール(コマンドプロンプトやターミナルのようなもの)
キーボードから打ち込まれた命令を
読み込み(Read)
評価・実行し(Eval)
結果を画面に表示し(Print)
また命令待ちの状態に戻る(Loop)処理
#開発環境で使うやつ
facade/ignition
エラー表示ツール
OSコマンドの実行ができる
※2.5.1以下は脆弱性あり
↓このエラー画面を表示をしていたのはこのパッケージだったのか。。
fakerphp/faker
fzaninotto/Faker の後継らしい
ダミーデータを生成するPHPライブラリ
ランダムデータ生成は単体テストに使えそう
laravel/sail
laravelをdocker開発環境で動作させるためのツール
laravelを動作させるための一通りの仕組みが構築され、簡単にdockerで開発環境を構築する事ができる
mockery/mockery
PHPUnit(後述)やPHPSpecなどのテストフレームワークと一緒にユニットテストで使用できる
存在しないClassを代替してテストを進めるためのツール
nunomaduro/collision
エラーレポートを見やすくできる
Laravel ArtisanとPHPUnitをサポートしている
↓こんな感じで表示される
phpunit/phpunit
単体テストを行うためのフレームワーク
#おまけ
せっかくなので実際に業務で使ったライブラリも1つ紹介します
linecorp/line-bot-sdk
LINEbotのSDK
ライブラリ、ツール、およびサンプルが含まれている
SDKを使えば、Messaging APIを組み込んだボットアプリの開発を簡単に始めることができる