blanchonvincent/cdn-light

ZF2 module v1.1.0 - Manage your own CDN with ZF2 application

This package's canonical repository appears to be gone and the package has been frozen as a result.

1.1.0 2013-09-15 19:47 UTC

This package is not auto-updated.

Last update: 2019-04-29 00:44:25 UTC


README

Version 1.1.0 Created by Vincent Blanchon

Introduction

ZF2 CdnLight module provide view helpers to manage custom CDN for ZF2 application. Just configure your module in cdnlight.local.php which will be moved in "/config/autoload" :

return array(
    'cdn_light' => array(
        'HeadLink' => true,
        'HeadScript' => true,
        'LinkCdn' => false, // Bypass the CDN for this helper
        
        'global' => array( // Set some values across all servers
            'assetMTimePath' => '/tmp/path/to/file' // Append the mtime of this file in your query string
        ),
        'servers' => array(
            'static_1' => array(
                'scheme' => 'http',
                'host' => 'server1.example.com',
                'port' => 80
            ),
            'static_2' => array(
                'scheme' => '', // Generate scheme less URIs
                'host' => 'server2.example.com',
                'port' => 81,
            ),
            'static_3' => array(
                'passthru' => true, // Do nothing to the urls
            ),
        ),
    ),
);

Yours CSS and JS files will be distributed across the listed CDN by round robin.

Usage

Change nothing !

$this->headLink()->appendStylesheet('/css/bootstrap.min.css')
                 ->appendStylesheet('/css/style.css')
                 ->appendStylesheet('/css/bootstrap-responsive.min.css');

Result will be :

<link href="http://server1.com:80/css/bootstrap.min.css" media="screen" rel="stylesheet" type="text/css" />
<link href="http://server2.com:80/css/style.css" media="screen" rel="stylesheet" type="text/css" />
<link href="http://server3.com:80/css/bootstrap-responsive.min.css" media="screen" rel="stylesheet" type="text/css" />

You can use a link view helper for a standalone usage :

<img src="<?php $this->linkCdn('/img/logo.png'); ?>" alt="" />

Contributors