blacksmoke26/yii2cdn A Yii Framework 2 component for using assets in different environments (Local/CDNs)

extensionassetscdn

Latest Stable Version Total Downloads Latest Unstable Version License GitHub issues GitHub forks GitHub stars Docs Twitter

yii2cdn

A Yii Framework 2 component for using assets in different environments (Local/CDNs)

Production Ready: Used in several real projects is enough to prove its stability.

Minimum requirements: PHP 7.0+ / Yii2 Framework 2.0.12+

Bugs / Feature Request?: Create your issue here.

Resources

Installation

The preferred way to install this extension is through composer.

Either run

composer require --prefer-dist blacksmoke26/yii2cdn "*"

or add

"blacksmoke26/yii2cdn": "*"

to the require section of your composer.json file.

Usage

Info: This tutorial will demonstrate how to use FancyBox3 library in a production (online/CDN) or development (local/offline) environment.

I. Installing a library


  1. Create a cdn directory under the /root/web folder.
  2. Install or download FancyBox3 library under cdn directory.

II. Add a component


  1. Open @app/config/main.php in your code editor.
  2. Add a new property cdn under components section like the following code:
// ...
'components' => [
  // ...
  'cdn' => [
    'class' => '\yii2cdn\Cdn',
      'baseUrl' => '/cdn',
      'basePath' => dirname(__DIR__) . '/web/cdn',
      'components' => [
      'jquery-fancybox' => [
        'css' => [
          '@attributes' => [
            'noNameInPathUrls' => true, // Hide /css in urls
          ],
          [
            'dist/jquery.fancybox.css', // offline version
            '@cdn' => '//cdnjs.cloudflare.com/ajax/libs/fancybox/3.3.5/jquery.fancybox.min.css', // online version
          ],
        ],
        'js' => [
          '@attributes' => [
            'noNameInPathUrls' => true, // Hide /js in urls
          ],
          [
            'dist/jquery.fancybox.js', // offline version
            '@cdn' => '//cdnjs.cloudflare.com/ajax/libs/fancybox/3.3.5/jquery.fancybox.min.js', // online version
          ],
        ],
      ],
    ],
  ],
  // ...
],
// ...

III. Registering assets


  1. Open any view file and paste the following line:
//...
Yii::$app->cdn->get('jquery-fancybox')->register();
//...

IV. Final moment

  1. Browse the action url in your browser and check the view souce.

Now it's time to play around, See ya!

Statistics

Downloads
GitHub Stars
GitHub Forks

Releases

Comments



1.0.1 is the latest of 11 releases



Apache-2.0 license
Stats
14 github stars & 4 github forks
9 downloads in the last day
247 downloads in the last 30 days
6173 total downloads