yii2cdn

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

Github stars Tracking Chart

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!

Main metrics

Overview
Name With Ownerblacksmoke26/yii2cdn
Primary LanguagePHP
Program languagePHP (Language Count: 1)
Platform
License:Apache License 2.0
所有者活动
Created At2016-04-06 11:22:52
Pushed At2020-12-05 11:07:58
Last Commit At2020-12-05 16:06:41
Release Count12
Last Release Name1.0.1 (Posted on )
First Release Name0.1.0 (Posted on )
用户参与
Stargazers Count14
Watchers Count3
Fork Count2
Commits Count105
Has Issues Enabled
Issues Count7
Issue Open Count1
Pull Requests Count2
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private