Hướng dẫn cách tích hợp CDN cho Laravel

1.  Hướng dẫn tích hợp CDN cho Laravel

1.1. Bước 1: Đăng ký dịch vụ CDN

Đầu tiên để sử dụng CDN các bạn cần đăng ký dịch vụ CDN. Nếu chưa đăng ký các bạn có thể tham khảo các gói CDN của BKCDN tại đây. Sau khi đăng ký dịch vụ CDN các bạn sẽ được cung cấp link CDN có dạng tương tự như sau:

qf0sroimw4web.cdn.bkcdn.vn

1.2. Bước 2: Tạo custom helper cho Laravel

Tiếp theo để load được link CDN các bạn tạo thêm custom helper để cấu hình. Để tạo custom helper đầu tiên các bạn tạo thư mục app/Helpers

huong-dan-tich-hop-cdn-cho-laravel-1

Tiếp theo các bạn tạo file app/Helpers/CDN.php với nội dung như sau:

<?php
if (!function_exists('cdn')) {
   function cdn( $asset ){
      // Verify if KeyCDN URLs are present in the config file
      if( !Config::get('app.cdn') )
         return asset( $asset );
      // Get file name incl extension and CDN URLs
      $cdns = Config::get('app.cdn');
      $assetName = basename( $asset );
      // Remove query string
      $assetName = explode("?", $assetName);
      $assetName = $assetName[0];
      // Select the CDN URL based on the extension
      foreach( $cdns as $cdn => $types ) {
          if( preg_match('/^.*\.(' . $types . ')$/i', $assetName) )
             return cdnPath($cdn, $asset);
      }
      // In case of no match use the last in the array
      end($cdns);
     return cdnPath( key( $cdns ) , $asset);
  } 
}
if (!function_exists('cdnPath')) {
  function cdnPath($cdn, $asset) {
     return  "//" . rtrim($cdn, "/") . "/" . ltrim( $asset, "/");
  }
}

1.3. Bước 3: Tạo service provider

Tiếp theo để Laravel tự động load file helper các bạn cần tạo thêm service provider. Để tạo một service provider các bạn sử dụng lệnh sau:

php artisan make:provider HelperServiceProvider

Sau đó các bạn mở file app/Providers/HelperServiceProvider.php xoá toàn bộ nội dung bên trong file và thay thế bằng nội dung sau:

<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class HelperServiceProvider extends ServiceProvider
{
    /**
     * Register services.
     *
     * @return void
     */
    public function register()
    {
        foreach (glob(app_path() . '/Helpers/*.php') as $file) {
            require_once($file);
        }
    }
    /**
     * Bootstrap services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }
}

Cuối cùng mở file config/app.php và thêm vào block providers

huong-dan-tich-hop-cdn-cho-laravel

1.4. Bước 4: Tích hợp CDN

Để Laravel load toàn bộ nội dung tĩnh bao gồm hình ảnh, js, css từ link CDN các bạn thêm vào cuối file config/app.php nội dung sau:

/*
    |--------------------------------------------------------------------------
    | CDN
    |--------------------------------------------------------------------------
    */
    'cdn' => array(
        "qf0sroimw4web.cdn.bkcdn.vn" => "jpg|jpeg|png|gif|svg|ico|css|js|eot|woff|ttf",
    ),

Trong đó qf0sroimw4web.cdn.bkcdn.vn chính là link CDN của các bạn

1.5. Bước 5: Thay đổi toàn bộ link js, css, hình ảnh thành link CDN

Bước cuối cùng các bạn cần thay đổi toàn bộ link js, css, hình ảnh thành link CDN. Cách gọi link js, css, hình ảnh lúc này sẽ như sau đây

// Image
<img src="{{%20cdn(%20"/img/yourImg.png" ) }}" alt="Image" />
// CSS
<link rel="stylesheet" href="{{%20cdn('frontend/css/main.css')%20}}">
// js
<script src="{{%20cdn('frontend/js/main.js')%20}}"></script>

2. Kết luận

Qua bài viết này BKCDN đã hướng dẫn các bạn cách tích hợp CDN cho Laravel. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới cho chúng tôi biết.

Tìm hiểu thêm: Cách kiểm tra xem CDN có hoạt động không

 

Tin Liên quan

Hướng dẫn sử dụng CloudFlare &#8211; Update DNS cloudflare chạy CDN

Hướng dẫn sử dụng CloudFlare – Update DNS cloudflare chạy CDN

Nội DungCloudFlare là gì?1. Ưu điểm của CloudFlare là gì?2. Nhược điểm của CloudFlare là gì?Kết hợp  Cloudflare và BKCDN1....

Thời gian cache trong CDN được thiết lập như thế nào?

Thời gian cache trong CDN được thiết lập như thế nào?

Bạn có thể thiết lập giới hạn thời gian cache trong cdn để kiểm soát cache trên máy chủ edge server của CDN....

Hướng dẫn tích hợp CDN vào mã nguồn Odoo

Hướng dẫn tích hợp CDN vào mã nguồn Odoo

Bài viết này sẽ hướng dẫn các bạn  từng bước để tích hợp CDN vào trong mã nguồn Odoo. Nếu...

Tích hợp CDN vào WordPress bằng Plugin LiteSpeed Cache

Tích hợp CDN vào WordPress bằng Plugin LiteSpeed Cache

Bài viết này BKCDN sẽ hướng dẫn các bạn tích hợp CDN vào mã nguồn WordPress sử dụng Plugin LiteSpeed...

Hướng dẫn tích hợp CDN cho nền tảng Xenforo

Hướng dẫn tích hợp CDN cho nền tảng Xenforo

Bạn có thể dùng máy chủ CDN để tăng tốc website để lưu trữ nội dung và các tập tin...

Tích hợp CDN vào WordPress bằng Plugin W3 Total Cache

Tích hợp CDN vào WordPress bằng Plugin W3 Total Cache

Bài viết này BKNS sẽ hướng dẫn các bạn tích hợp CDN vào WordPress bằng Plugin W3 Total Cache Trước tiên...

Tích hợp CDN vào mã nguồn Opencart &#8211; Tip hướng dẫn

Tích hợp CDN vào mã nguồn Opencart – Tip hướng dẫn

Bài viết này BKCDN sẽ hướng dẫn tích hợp CDN vào mã nguồn Opencart, để biết thêm thông tin chi...

Hướng dẫn tích hợp CDN vào mã nguồn Magento

Hướng dẫn tích hợp CDN vào mã nguồn Magento

Bài viết này BKNS sẽ hướng dẫn các bạn tích hợp CDN vào mã nguồn Magento, để biết thêm thông...