独学者Fossa

独学していることなど

Fossa Advent Calendar 5日目

アドベントカレンダー
アドベントカレンダー

Laravel Modules

Name Version
php 7.4.13
Laravel Framework 8.16.1
Laravel Modules 8.2.0

github.com

標準では、FileActivatorが使われています。

Modulestatusが、trueか、falseかを、modules_statuses.jsonに保存する機能です。

これをDBに置き換えたいと思って、作業してみました。

src/Activators/FileActivator.phpを参考にしながら、DatabaseActivator.phpを作れば、難しくはありません。

config/modules.php

<?php

<以下省略>

    'activators' => [
        'database' => [
            'class'          => DatabaseActivator::class,
            'cache-key'      => 'activator.installed',
            'cache-lifetime' => 604800,
        ],
        'file' => [
            'class' => FileActivator::class,
            'statuses-file' => storage_path('app/modules_statuses.json'),
            'cache-key' => 'activator.installed',
            'cache-lifetime' => 604800,
        ],
    ],

    'activator' => 'database',

DatabaseActivator対応Laravel Modules

github.com

試してみましたが、私の環境では、正しく動作しませんでした。