PHPackages                             zfcampus/zf-asset-manager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. zfcampus/zf-asset-manager

Abandoned → [laminas-api-tools/api-tools-asset-manager](/?search=laminas-api-tools%2Fapi-tools-asset-manager)ArchivedComposer-plugin[Utility &amp; Helpers](/categories/utility)

zfcampus/zf-asset-manager
=========================

Composer plugin for copying module assets into application document roots.

1.2.0(8y ago)11469.3k↓23.9%53BSD-3-ClausePHPPHP ^5.6 || ^7.0

Since Jul 26Pushed 6y ago2 watchersCompare

[ Source](https://github.com/zfcampus/zf-asset-manager)[ Packagist](https://packagist.org/packages/zfcampus/zf-asset-manager)[ RSS](/packages/zfcampus-zf-asset-manager/feed)WikiDiscussions master Synced today

READMEChangelog (5)Dependencies (5)Versions (6)Used By (3)

zf-asset-manager
================

[](#zf-asset-manager)

> ## Repository abandoned 2019-12-31
>
> [](#repository-abandoned-2019-12-31)
>
> This repository has moved to [laminas-api-tools/api-tools-asset-manager](https://github.com/laminas-api-tools/api-tools-asset-manager).

[![Build Status](https://camo.githubusercontent.com/0535514eabb7c69d06d5caf25fd3b26d6b00a03dced52251dbf29065bb545a20/68747470733a2f2f7472617669732d63692e6f72672f7a6663616d7075732f7a662d61737365742d6d616e616765722e706e67)](https://travis-ci.org/zfcampus/zf-asset-manager)

zf-asset-manager is a composer plugin that will copy configured web-accessible assets into the public document root of your Zend Framework application. It uses the configuration format of [rwoverdijk/AssetManager](https://github.com/rwoverdijk/AssetManager), and specifically the subset:

```
'asset_manager' => [
    'resolver_configs' => [
        'paths' => [
            /* paths containing asset directories */
        ],
    ],
],
```

Each configured path is iterated, and every path under it is then copied into the public tree.

Installation
------------

[](#installation)

```
$ composer require --dev zfcampus/zf-asset-manager
```

> ### Recommended for development
>
> [](#recommended-for-development)
>
> We recommend usage of this module primarily for development purposes. In most cases, assets from third-party modules should be overridden with project-specific assets when preparing for production. To emphasize this, the assets are excluded from your git repository by default. (You may add them manually later, [as explained below](#keeping-assets).)

Example
-------

[](#example)

As an example, given the following directory structure inside a package:

```
./
- asset/
  - README.md
  - gruntfile.js
  - package.json
  - zf-apigility/
    - css/
      - bootstrap.min.css
    - img/
      - logo.png
    - js/
      - bootstrap.min.js
      - jquery.min.js
  - zf-apigility-welcome/
    - css/
      - main.min.css
    - img/
      - ag-hero.png
- config/
  - module.config.php

```

where `module.config.php` defines (minimally) the following:

```
return [
    'asset_manager' => [
        'resolver_configs' => [
            'paths' => [
                __DIR__ . '/../asset/'
            ],
        ],
    ],
]
```

When you install the package, the asset manager will copy each of the `asset/zf-apigility/` and `asset/zf-apigility-welcome/` trees to the project's `public/` path. The individual files `asset/README.md`, `asset/gruntfile.js`, and `asset/package.json` are omitted from the install, as they are not directories.

Additionally, during installation, the plugin adds a `.gitignore` file to the `public/` path, listing each of the new directories:

```
# public/.gitignore
zf-apigility/
zf-apigility-welcome/

```

After installation, you may access any of the assets installed relative to the public root.

Uninstallation
--------------

[](#uninstallation)

When you remove the module, the plugin will:

- Remove any asset trees configured for the module from the public tree.
- Remove the `.gitignore` entries associated with those asset trees from the `public/.gitignore` file.

Keeping assets
--------------

[](#keeping-assets)

Assets are marked by Git to ignore by default. The intention of this module is primarily for development purposes; it was developed to allow installation of assets related to the Apiglity admin UI, welcome screen, and documentation, most of which are relevant in development mode only.

However, if you wish to keep the assets in your public tree, you can do so as follows:

- Edit the `public/.gitignore` file to remove the entry for the asset tree(s) you wish to keep.
- Add the asset tree(s) to your repository (`git add public/{tree}`).

Removing the entry from `public/.gitignore` is enough to prevent the uninstaller from removing the assets when you remove a module.

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity41

Moderate usage in the ecosystem

Community17

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 97.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~116 days

Total

5

Last Release

3166d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/296074?v=4)[Zend Framework](/maintainers/zendframework)[@zendframework](https://github.com/zendframework)

---

Top Contributors

[![weierophinney](https://avatars.githubusercontent.com/u/25943?v=4)](https://github.com/weierophinney "weierophinney (67 commits)")[![michalbundyra](https://avatars.githubusercontent.com/u/7423207?v=4)](https://github.com/michalbundyra "michalbundyra (2 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/zfcampus-zf-asset-manager/health.svg)

```
[![Health](https://phpackages.com/badges/zfcampus-zf-asset-manager/health.svg)](https://phpackages.com/packages/zfcampus-zf-asset-manager)
```

###  Alternatives

[symfony/runtime

Enables decoupling PHP applications from global state

74798.8M1.0k](/packages/symfony-runtime)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5445.2M564](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2124.7M202](/packages/drupal-core-project-message)[vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

3014.6M26](/packages/vaimo-composer-patches)[sandersander/composer-link

Adds ability to link local packages for development with composer

98457.9k](/packages/sandersander-composer-link)[phpro/grumphp-shim

GrumPHP Phar distribution

294.7M340](/packages/phpro-grumphp-shim)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
