Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Mô hình cài đặt toàn cầu của Laravel

Bạn có thể tạo một nhà cung cấp dịch vụ, nói SettingsServiceProvider , tải tất cả các cài đặt từ cơ sở dữ liệu và sau đó lưu chúng vào bộ nhớ đệm. Sau đó, trong các lần tải trang tiếp theo, nó có thể trả về các giá trị cài đặt được lưu trong bộ nhớ cache thay vì truy vấn cơ sở dữ liệu, điều mà bạn nên quan tâm một cách chính đáng.

Một cái gì đó đơn giản như:

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

Giả sử mô hình cài đặt của bạn được gọi là Setting theo quy ước đặt tên của Laravel. Sau đó, bạn có thể truy cập các cài đặt như sau:

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

Nếu bạn muốn một cách truy cập cài đặt đẹp hơn, bạn có thể tạo một hàm trợ giúp:

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

Cái nào sẽ làm cho việc sử dụng như thế này:

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

Gần như mô phỏng config() cách sử dụng của chức năng trợ giúp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi khai báo biến số nguyên bên trong hàm được lưu trữ MySQL

  2. cc1:error:tùy chọn dòng lệnh không được công nhận -Không-null-chuyển đổi trong cài đặt python-mysql trên mac 10.7.5

  3. Chèn hình ảnh vào cơ sở dữ liệu

  4. Lỗi PHP:Gọi đến một hàm thành viên rowCount () trên một đối tượng không phải

  5. Kiểm soát truy cập MYSQL