Manages the puli.json file of a Puli project.

1.0.0-beta10 2016-01-14 10:59 UTC


Build Status Build status Scrutinizer Code Quality Latest Stable Version Total Downloads Dependency Status

Latest release: 1.0.0-beta10

PHP >= 5.3.9

The Puli Manager Component builds a resource repository and discovery from a puli.json configuration in the root of your project:

    "path-mappings": {
        "/app": "res"

This mapping can be loaded with the RepositoryManager:

use Puli\Manager\Api\Container;

$puli = new Container(getcwd());

$repoManager = $puli->getRepositoryManager();

The RepositoryManager also supports methods to manipulate the puli.json.


A puli.json configuration can also be placed in any module installed in your project. This module needs to be registered with Puli with the ModuleManager:

$moduleManager = $puli->getModuleManager();

$moduleManager->installModule('path/to/module', 'vendor/module-name');

Usually, modules are installed automatically by Puli's Composer Plugin.


The following is a table of all managers supported by this package:

Class Description
RepositoryManager Manages resource mappings and builds ResourceRepository instances
DiscoveryManager Manages bindings and binding types and builds Discovery instances
AssetManager Manages asset mappings used by the UrlGenerator
ServerManager Manages servers used by the UrlGenerator
FactoryManager Manages the generation of the GeneratedPuliFactory class
ModuleManager Manages the installed modules
ConfigFileManager Manages changes to a global config.json file
RootModuleFileManager Manages changes to the puli.json file of the project



Follow the Installation guide guide to install Puli in your project.


Read the Puli Documentation if you want to learn more about Puli.


Contributions to are very welcome!


If you are having problems, send a mail to bschussek@gmail.com or shout out to @webmozart on Twitter.


All contents of this package are licensed under the MIT license.