Yii 2.0: Yii2cdn Component

2 followers

Yii2cdn

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

Resources

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar 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 Font-Awesome library in a production (online/CDN) or development (local/offline) environment.

I. Installing a library

  1. Create a cdn directory under your root folder.
  2. Install or download FortAwesome/Font-Awesome library under cdn directory.
    • Path should be /cdn/font-awesome.

II. Add a component

  1. Open @app/config/main.php in your code editor.
  2. Add a new propery cdn under components section like the following code:
// ...
'components' => [
    // ...
    'cdn' => [
        'class' => '\yii2cdn\Cdn',
        'baseUrl' => '/cdn',
        'basePath' => dirname(dirname(__DIR__)) . '/cdn',
        'components' => [
            'font-awesome' => [
                'css' => [
                    [
                        'css/font-awesome.min.css', // offline version
                        '@cdn' => '//cdnjs.cloudflare.com/ajax/libs/font-awesome/'
                                . '4.5.0/css/font-awesome.min.css', // online version
                    ]
                ]
            ]
        ],
    ],
  // ...
],
// ...

III. Registering assets

  1. Open any view file and paste the following line:
//...
Yii::$app->cdn->get('font-awesome')->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!

Be the first person to leave a comment

Please to leave your comment.

Write new article
  • Written by: junaidatari
  • Category: How-tos
  • Yii Version: 2.0
  • Votes: +1 / -1
  • Viewed: 10,592 times
  • Created on: Apr 8, 2016
  • Last updated: never
  • Tags: yii2, cdn, assets