Lumenでyamlを使う
ちょっとした設定ファイルなどは、YAMLが書きやすくて低コストなので愛用しています。今回は、Laravelの軽量版・LumenでYamlを使う設定をまとめました。
公開日: 2019.3.5
ComposerでYamlをインストールする
Lumenを使っている場合は、Composerも使えることが多いと思いますので、Composerを使ってインストールします。
Yamlが使える拡張はいろいろありますが、Symfonyのものが良いようなので、そちらをインストールします。
composer install symfony/yaml
インストールができればcomposer.jsonが更新されます。
Lumenで使えるようにする
そのままでは、Lumenへのパスが通ってないので、Lumenのコントローラなどから簡単に呼び出せるようにaliasの設定をします。
/bootstrap/app.phpの任意の場所に、下記のコードを追記します。
if (!class_exists('Yaml')) {
class_alias('Symfony\Component\Yaml\Yaml', 'Yaml');
}
これでOKです。
コントローラからYamlを呼び出す
LumenのコントローラからYamlを呼び出すのはクラスの最初で「use Yaml」と宣言すればOKです。
あとは、「Yaml::」でYamlクラスを呼び出せます。
<?php
namespace App\Http\Controllers;
use Yaml;
class HogeController extends Controller
{
.
.
.
.
$yml = Yaml::parse(file_get_contents($yml_path));
.
.
.
.
}
parseしたYamlは、きちんと連想配列になっています。
LumenでYamlを使う方法をみてきました。
Yamlは最低限の記号でシンプルに配列データを格納できるので、DBにわざわざ入れるまでもないデータの取扱いで活躍してくれそうです。