毎年、9月の終わり頃は季節の変わり目なのか体調を崩すのですが、今年も例に漏れず体調を崩してしまいました。
というわけでLaravelはWebアプリケーションのためのフレームワークでありますが、ファイル入出力ももちろんできます。
場合によってはDBに保存するだけでなく、ファイルに出力したり、ファイルからデータを取り込んだりするシーンも出てくると思います。
そのときに役に立つのが、Filesystemクラスです。
http://laravel.com/api/4.2/Illuminate/Filesystem/Filesystem.html
ファイル関連の処理をすべてラッピングしてくれて、煩雑な処理を見通しの良いコードに変えてくれます。
いくつか挙げていくと、
File::append('./abc.txt', 'hello!');
モードを指定して開くとかしなくてもappendで追記できます。
File::move('./abc.txt', './new_abc.txt');
ファイルの移動も
File::copy('./abc.txt', './new_abc.txt');
複製も簡単です。
File::extension('./abc.txt');
拡張子だって、Filesystemなら、ほらこの通り。
PHPのファイル入出力で検索しても出てくるのはネイティブのPHP関数を使ったものが多く、
確かにそれは基本中の基本なんですが、新しいフレームワークを使っているのだからそこもモダンに実装したいところ。
LaravelではそのためのFilesystemなので、ガシガシ使っていきましょう。