sql >> データベース >  >> RDS >> Mysql

Laravelグローバル設定モデル

    SettingsServiceProviderなどのサービスプロバイダーを作成できます 、データベースからすべての設定をロードしてからキャッシュします。その後のページの読み込み時に、データベースにクエリを実行するのではなく、キャッシュされた設定値を返す可能性があります。これは当然のことです。

    簡単なこと:

    class SettingsServiceProvider extends ServiceProvider
    {
        /**
         * Register the application services.
         *
         * @return void
         */
        public function register()
        {
            $this->app->singleton('settings', function ($app) {
                return $app['cache']->remember('site.settings', 60, function () {
                    return Setting::pluck('value', 'key')->toArray();
                });
            });
        }
    }
    

    設定モデルがSettingと呼ばれると仮定します Laravelの命名規則に従って。その後、次のような設定にアクセスできます:

    <h1>{{ array_get(app('settings'), 'site.name') }}</h1>
    

    設定にアクセスするためのよりきれいな方法が必要な場合は、ヘルパー関数を作成できます:

    function setting($key)
    {
        return array_get(app('settings'), $key);
    }
    

    これは次のように使用されます:

    <h1>{{ setting('site.name') }}</h1>
    

    config()をほぼエミュレートします ヘルパー関数の使用法。



    1. OpenSSL-0深度ルックアップでのエラー18:自己署名証明書

    2. OpenCart:oc_category_pathに正確に入力する方法

    3. どのような状況で、MySQLに再接続しないようにRailsを設定する必要がありますか

    4. 2つの同期レプリカ間でSQLServerのAlwaysON可用性グループを構成します。パート2