2017 © Pedro Peláez
 

library zf2-conditional-loader

This package allows to load modules in Zend Framework 2 if some conditions apply.

image

solcre/zf2-conditional-loader

This package allows to load modules in Zend Framework 2 if some conditions apply.

  • Tuesday, February 17, 2015
  • by solcre
  • Repository
  • 3 Watchers
  • 1 Stars
  • 353 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Conditional Module Loader for Zend Framework 2

Introduction

This simple package will allow you to load modules depending on some conditions., (*1)

Motivation: We use AssetManager for a project, and we wanted to load the module only when the request is for an asset., (*2)

Installation

The recommended way to get a working copy of this project is to clone the repository and use composer to install dependencies using the create-project command:, (*3)

curl -s https://getcomposer.org/installer | php --
php composer.phar create-project solcre/zf2-conditional-loader path/to/install

Alternately, clone the repository and manually invoke composer using the shipped composer.phar:, (*4)

cd my/project/dir
git clone git://github.com/solcre/zf2-conditional-loader.git
cd zf2-conditional-loader
php composer.phar self-update
php composer.phar install

(The self-update directive is to ensure you have an up-to-date composer.phar available.), (*5)

Another alternative for downloading the project is to grab it via curl, and then pass it to tar:, (*6)

cd my/project/dir
curl -#L https://github.com/solcre/zf2-conditional-loader/tarball/master | tar xz --strip-components=1

You would then invoke composer to install dependencies per the previous example., (*7)

Using Git submodules

Alternatively, you can install using native git submodules:, (*8)

git clone git://github.com/solcre/zf2-conditional-loader.git --recursive

Requirements

Libraries Used

Zend Framework 2, (*9)

Configuration

In application.config.php add:

    'service_manager' => array(
        'factories' => array(
            'ModuleManager' => 'ConditionalLoader\Service\Factory\ModuleManagerFactory',
        )
    ),
    'modules_condition_resolvers' => array(
        '<module class here>' => '<condition resolver class here>',
    ),
);

*Remember to create a service for your condition resolver class or define it as an invokable., (*10)

Example config:

'service_manager' => array(
    'factories' => array(
        'ModuleManager' => 'ConditionalLoader\Service\Factory\ModuleManagerFactory',
    ),
    'invokables' => array(
        'AssetManagerResolver' => 'ColumnisExpress\ConditionResolver\AssetManagerResolver'
    )
),
'modules' => array(
    'AssetManager',
    'Columnis'
),
'modules_condition_resolvers' => array(
    'AssetManager' => 'AssetManagerResolver'
),

Example of a Condition Resolver Class (AssetManagerResolver)

<?php

namespace ColumnisExpress\ConditionResolver;

use ConditionalLoader\Resolver\ConditionResolverInterface;

class AssetManagerResolver implements ConditionResolverInterface
{
    public function resolve() {
        $uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI']:'';
        return (preg_match('/^.+\.(js|css)$/', $uri) === 1);
    }
}

The Versions

17/02 2015

dev-master

9999999-dev https://github.com/solcre/zf2-conditional-loader

This package allows to load modules in Zend Framework 2 if some conditions apply.

  Sources   Download

BSD-2-Clause

The Requires

 

The Development Requires

zf2 zend framework 2 module manager lazy loading module loading module loader