Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

लारवेल ग्लोबल सेटिंग्स मॉडल

आप एक सेवा प्रदाता बना सकते हैं, जैसे 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 कहा जाता है लारवेल के नामकरण सम्मेलनों के अनुसार। फिर आप इस तरह की सेटिंग एक्सेस कर सकते हैं:

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

यदि आप सेटिंग्स तक पहुँचने का एक सुंदर तरीका चाहते हैं, तो आप एक सहायक फ़ंक्शन बना सकते हैं:

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

जो इस तरह उपयोग करेगा:

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

लगभग config() का अनुकरण कर रहा है सहायक फ़ंक्शन का उपयोग।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में रूपांतरण दर की गणना कैसे करें?

  2. समय भंडारण के लिए DATETIME बनाम INT?

  3. MySQL निश्चित समस्याओं का निवारण कैसे करें

  4. SQL:प्रत्येक डिवाइस सेट के लिए समान मान की लगातार घटना के साथ सभी रिकॉर्ड गिनें और उच्चतम गणना लौटाएं

  5. अद्यतन के बाद पिछला मान प्राप्त करें - MySql