Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Model Pengaturan Global Laravel

Anda dapat membuat penyedia layanan, misalnya SettingsServiceProvider , yang memuat semua pengaturan dari database dan kemudian menyimpannya dalam cache. Kemudian pada pemuatan halaman berikutnya, itu bisa mengembalikan nilai pengaturan yang di-cache daripada menanyakan database, yang seharusnya Anda perhatikan.

Sesuatu yang sederhana seperti:

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();
            });
        });
    }
}

Dengan asumsi model pengaturan Anda disebut Setting sesuai konvensi penamaan Laravel. Anda kemudian dapat mengakses pengaturan seperti ini:

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

Jika Anda menginginkan cara yang lebih cantik untuk mengakses pengaturan, Anda dapat membuat fungsi pembantu:

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

Yang akan membuat penggunaan seperti ini:

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

Hampir meniru config() penggunaan fungsi pembantu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyiapkan instance baru MySQL apa itu Kata Sandi Root Saat Ini?

  2. Memasukkan data Biner ke MySQL (tanpa PreparedStatement)

  3. kategori php, sub kategori pohon

  4. Laravel 5.4 pada PHP 7.0:Pengecualian PDO - Tidak dapat menemukan driver (MySQL)

  5. Output teks Arab masalah konversi php mysql utf-8