Laravelで大容量CSVファイルをSplFileObjectクラスで確実に処理する
- Laravel
LaravelなどのPHPフレームワークで業務システムを構築していると必ずと言って良いほどついて回るのがCSVを扱う機能です。CSVアップロード・インポート・エクスポート・ダウンロード…と、クラウド基幹システム系には切っても切り離せない機能だと思います。今回はLaravelでのCSVデータ処理について、ファイルサイズに左右されずに安定して処理を回せる機能を実装します。
LaravelなどのPHPフレームワークで業務システムを構築していると必ずと言って良いほどついて回るのがCSVを扱う機能です。CSVアップロード・インポート・エクスポート・ダウンロード…と、クラウド基幹システム系には切っても切り離せない機能だと思います。今回はLaravelでのCSVデータ処理について、ファイルサイズに左右されずに安定して処理を回せる機能を実装します。
PHPフレームワークにはSeeding(シーディング)と呼ばれる機能があり、マイグレーション実行時に初期データを一緒に投入することが可能です。ということで今回は、CakePHP3のSeeding(シーディング)で初期データを投入します。また、fakerというライブラリを使ってダミーデータを自動生成し、投入するまでも後半で行います。
マイグレーションでデータベース(テーブル)の構築(作成)を行いました。今回は、作成済みのテーブルへのカラム追加、およびカラムの変更・削除を行います。
PHPフレームワークにはマイグレーションという機能があり、データベースの構築をコードで管理していく事が出来ます。こうすることで、チームでコーディングしていた場合にテーブルやカラムの追加・変更が必要になったり、新たなメンバーがアサインされてもコマンド一つでデータベースを構築できて便利です。このマイグレーションという機能はCakePHPにももちろん入っています。今回はこの機能を使ってデータベースを構築していきます。
CakePHP3をインストール後、最初に行っておくと良い初期設定をここに記します。このページはこれからも更新していきます。
CakePHPは日本でよく使われているPHPフレームワークの一つです。今回は入門編という事で、CakePHP3のインストールを行います。