PHPackages                             inteve/assets-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. inteve/assets-manager

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

inteve/assets-manager
=====================

Assets manager for PHP apps.

v1.0.0(12mo ago)18.1k1BSD-3-ClausePHPPHP 8.0 - 8.4CI passing

Since Feb 25Pushed 12mo ago1 watchersCompare

[ Source](https://github.com/inteve/assets-manager)[ Packagist](https://packagist.org/packages/inteve/assets-manager)[ Fund](https://www.janpecha.cz/donate/)[ RSS](/packages/inteve-assets-manager/feed)WikiDiscussions master Synced yesterday

READMEChangelog (3)Dependencies (7)Versions (10)Used By (1)

AssetsManager
=============

[](#assetsmanager)

[![Build Status](https://github.com/inteve/assets-manager/workflows/Build/badge.svg)](https://github.com/inteve/assets-manager/actions)[![Downloads this Month](https://camo.githubusercontent.com/99925ceea6939578ba717c3d92ed136fde39e2bfe7ae90a74b364fc2df574d52/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f696e746576652f6173736574732d6d616e616765722e737667)](https://packagist.org/packages/inteve/assets-manager)[![Latest Stable Version](https://camo.githubusercontent.com/55a1e2af86532e56935dbde8e90f59a0ef79d1144228837a0300033e7c5154ac/68747470733a2f2f706f7365722e707567782e6f72672f696e746576652f6173736574732d6d616e616765722f762f737461626c65)](https://github.com/inteve/assets-manager/releases)[![License](https://camo.githubusercontent.com/fa7d5fcf2c84b580327af52da95dd751703af65f079dc3c5a0081beac0789718/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4e65772532304253442d626c75652e737667)](https://github.com/inteve/assets-manager/blob/master/license.md)

Assets manager for PHP apps.

[![Donate](https://camo.githubusercontent.com/101b981194f1dafbf9c42e19c3034fe2d724e75be972cef0f4477074997834db/68747470733a2f2f6275796d65636f666665652e696e746d2e6f72672f696d672f646f6e6174652d62616e6e65722e76312e737667)](https://www.janpecha.cz/donate/)

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

[](#installation)

[Download a latest package](https://github.com/inteve/assets-manager/releases) or use [Composer](http://getcomposer.org/):

```
composer require inteve/assets-manager

```

Inteve\\Assets-manager requires PHP 8.0 or later.

Usage
-----

[](#usage)

```
$currentEnvironment = PRODUCTION_MODE ? 'production' : 'development';
$manager = new Inteve\AssetsManager\AssetsManager($currentEnvironment, '/public/path');

// get public file path
echo $manager->getPath('css/my-file.css'); // '/public/path/css/my-file.css'
echo $manager->getPath('imgs/avatar.png'); // '/public/path/imgs/avatar.png'

// stylesheets
$manager->addStylesheet(string $file, string $environment = NULL);
$manager->addStylesheet('css/style.css');
$manager->addStylesheet('css/dev.css', 'development');

$assetFiles = $manager->getStylesheet();

// scripts
$manager->addScript(string $file, string $environment = NULL);
$manager->addScript('js/script.js');
$manager->addScript('js/prod.js', 'production');

$assetFiles = $manager->getScripts();

// critical scripts (scripts in  for example)
$manager->addCriticalScript(string $file, string $environment = NULL);
$manager->addCriticalScript('js/script.js');
$manager->addCriticalScript('js/prod.js', 'production');

$assetFiles = $manager->getCriticalScripts();
```

### HTML tags

[](#html-tags)

```
foreach ($manager->getStylesheetsTags() as $tag) {
	echo $tag;
}

foreach ($manager->getScriptsTags() as $tag) {
	echo $tag;
}

foreach ($manager->getCriticalScriptsTags() as $tag) {
	echo $tag;
}
```

### Cache busting

[](#cache-busting)

```
$fileHashProvider = new Inteve\AssetsManager\Md5FileHashProvider(__DIR__ . '/real/path/to/assets');
$manager = new Inteve\AssetsManager\AssetsManager(
	$currentEnvironment,
	'/public/path/to/assets',
	[],
	$fileHashProvider
);

echo $manager->getPath('css/styles.css'); // prints something like '/public/path/to/assets/css/styles.ab9cd8ef76.css'
```

### External sources

[](#external-sources)

*This isn't recommended usage.*

```
$manager->addScripts('https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js');
```

### Bundles

[](#bundles)

```
class JQueryBundle implements Inteve\AssetsManager\IAssetsBundle
{
	function getName()
	{
		return 'jquery';
	}

	function registerAssets(Bundle $bundle)
	{
		$bundle->addScripts('https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js');
	}
}

class ContactFormBundle implements Inteve\AssetsManager\IAssetsBundle
{
	function getName()
	{
		return 'myweb/contactForm';
	}

	function registerAssets(Bundle $bundle)
	{
		$bundle->requireBundle('jquery');
		$bundle->addScripts('components/contact-form.js');
		$bundle->addStylesheet('components/contact-form.css');
	}
}

$manager = new Inteve\AssetsManager\AssetsManager(
	$currentEnvironment,
	'/public/path/to/assets',
	[
		new JQueryBundle,
		new ContactFormBundle,
	]
);
$manager->requireBundle('myweb/contactForm');

echo implode("\n", $manager->getScriptsTags());
echo implode("\n", $manager->getStylesheetsTags());
```

Prints:

```

```

---

License: [New BSD License](license.md)
Author: Jan Pecha,

###  Health Score

44

—

FairBetter than 90% of packages

Maintenance50

Moderate activity, may be stable

Popularity22

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity80

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 100% 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 ~244 days

Recently: every ~393 days

Total

9

Last Release

364d ago

Major Versions

v0.5.1 → v1.0.02025-07-04

PHP version history (2 changes)v0.1.0PHP &gt;=5.6.0

v1.0.0PHP 8.0 - 8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/5c980b1511b4a0350442dc23d89c99d4d9a2411b7e765d52c133ccacf616968b?d=identicon)[janpecha](/maintainers/janpecha)

---

Top Contributors

[![janpecha](https://avatars.githubusercontent.com/u/637719?v=4)](https://github.com/janpecha "janpecha (57 commits)")

---

Tags

assets-managementnettephp

### Embed Badge

![Health badge](/badges/inteve-assets-manager/health.svg)

```
[![Health](https://phpackages.com/badges/inteve-assets-manager/health.svg)](https://phpackages.com/packages/inteve-assets-manager)
```

###  Alternatives

[nette/php-generator

🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.5 features.

2.3k72.7M765](/packages/nette-php-generator)[nette/component-model

⚛ Nette Component Model

28817.0M106](/packages/nette-component-model)[symplify/monorepo-builder

Not only Composer tools to build a Monorepo.

5275.9M121](/packages/symplify-monorepo-builder)[nette/code-checker

✅ Nette CodeChecker: A simple tool to check source code against a set of Nette coding standards.

911.7M6](/packages/nette-code-checker)[rector/rector-src

Instant Upgrade and Automated Refactoring of any PHP code

136406.3k14](/packages/rector-rector-src)[shipmonk/input-mapper

Performant array-to-object mapper supporting generics, array shapes, optional fields and much more!

3030.9k](/packages/shipmonk-input-mapper)

PHPackages © 2026

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