Skip to content
/ manager Public

Manages the puli.json file of a Puli project.

License

Notifications You must be signed in to change notification settings

puli/manager

Repository files navigation

The Puli Manager Component

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());
$puli->start();

$repoManager = $puli->getRepositoryManager();
$repoManager->buildRepository();

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

Modules

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.

Managers

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

Authors

Installation

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

Documentation

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

Contribute

Contributions to are very welcome!

Support

If you are having problems, send a mail to [email protected] or shout out to @webmozart on Twitter.

License

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