Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
ZF2 module v1.1.0 - Manage your own CDN with ZF2 application
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
config
spec/CdnLight
src/CdnLight
tests
.gitignore
Module.php
README.md
composer.json

README.md

ZF2 CdnLight module

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

Something went wrong with that request. Please try again.