Laravel Medianova CDN Entegrasyonu

Laravel Medianova CDN entegrasyonu, statik varlıklarınızın URL’lerini yeniden yazan bir yardımcı oluşturarak yapılmaktadır.

Aşağıda Laravel Medianova CDN entegrasyonu için izlenmesi gereken adımları sizler için hazırladık.

  1. Laravel CDN entegrasyonundan önce panel.medianova.com adresi üzerinden Küçük ve Büyük objeleriniz veya Aksela hesabınız için bir “New Zone” oluşturun.
  2. ./App/helpers.php dosyasını oluşturun ve ./composer.json dosyasını güncelleyin
    ...
    "autoload": {
        "classmap": [
          ...
         ],
         ...
         "files": [
             "app/helpers.php"
         ]
    },
    ...
    
  3. Terminal üzerinden projenizin olduğu dizinde Composer dump- autoload komutunu çalıştırın
  4. Aşağıdaki kodu ./app/helpers.php dosyasına ekleyin
    ./Config/app.php config dosyasında CDN URL’leri tanımlanmadıysa, standart asset () işlevi çağrılır.

    <?php
    // global CDN function
    function cdn( $file ){
        // Verify if Medianova CDN URLs are present in the config file
        if( !Config::get('app.cdn') )
            return asset( $file );
        // Get file name incl extension and CDN URLs
        $cdns = Config::get('app.cdn');
        $fileName = basename( $file );
        // Remove query string
        $fileName = explode("?", $fileName);
        $fileName = $fileName[0];
        // Select the CDN URL based on the extension
        foreach( $cdns as $cdn => $types ) {
            if( preg_match('/^.*\.(' . $types . ')$/i', $fileName) )
                return cdnUrl($cdn, $file);
        }
        // In case of no match use the last in the array
        end($cdns);
        return cdnUrl( key( $cdns ) , $file);
    }
    function cdnUrl($cdn, $file) {
        return  "//" . rtrim($cdn, "/") . "/" . ltrim( $file, "/");
    }
    ?>
  5. CDN URL’lerini ./config/app.php dosyasında tanımlayın.
    'cdn' => array(
            "your-cdn-url.com" => "css|js|eot|woff|ttf|jpg|jpeg|png|gif|svg"
        ),

    Örneğin;

    <?php
    return [
        /*
        |--------------------------------------------------------------------------
        | Application MnCDN domains
        |--------------------------------------------------------------------------
        |
        | Specify different domains for your assets.
        |
        */
    'cdn' => array(
            "your-cdn-url.com" => "css|js|eot|woff|ttf|jpg|jpeg|png|gif|svg"
        ),
  6. Yardımcı fonksiyonun genel kullanımı aşağıdaki gibidir
    <img src="{{ cdn( "/img/medianovaCDN.png" ) }}" alt="Loaded from Medianova CDN" />
  7. Varlıklarınız Medianova CDN’den yükleniyorsa, HTML kaynak kodunu doğrulayın

 

Note: Küçük, Büyük objeleriniz için açtığınız Zone  ve Aksela Hesaplarınızın CDN URL’lerini görüntülemek için  https://docs.medianova.com/tr/medianova-cdn-kullanici-entegrasyonu/ linkini kullanabilirsiniz

Bu makale faydalı oldu mu?