PHPackages                             frosty22/composer-components - 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. frosty22/composer-components

ActiveLibrary

frosty22/composer-components
============================

Extending Composer for support install components in Nette.

026PHP

Since Dec 11Pushed 12y ago1 watchersCompare

[ Source](https://github.com/frosty22/ComposerComponents)[ Packagist](https://packagist.org/packages/frosty22/composer-components)[ RSS](/packages/frosty22-composer-components/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

Nette composer components installer
===================================

[](#nette-composer-components-installer)

Podpora instalace komponent - JS, CSS a obrázků pomocí composeru. Princip je triviální - komponenta je závislá na generovaném souboru **composer.lock**, který vždy projde při změně a podívá se po definici **extra.component** viz příklad níže (syntaxe je inspirovaná komplexnějším systémem Bower, pouze ho velice zjednodušuje a funguje jako triviální náhrada).

Všechny soubory komponent zkopíruje do definované složky (defaultně www/components). Dále definované soubory CSS, JS lze přes nette komponentu ComposerComponents/Control/Control vygenerovat v HTML šabloně.

Příklad rozšíření v composer
----------------------------

[](#příklad-rozšíření-v-composer)

Podstatná je pouze ta část **extra.component**, zde je možné definovat základní složku **src**. Dále je zde možné definovat JavaScript soubory v **scripts**, poté CSS soubory vně **styles**, a dále související soubory, například obrázkyve **files**.

```
{
	"name": "frosty22/xxx",
	"type": "library",
	"require": {
		"php": ">= 5.3.0",
		"nette/nette": "2.*"
	},
	"autoload": {
		"psr-0": {
			"XXX" : "src/"
		}
	},
	"extra": {
		"component" : {
			"src" : "src/",
			"scripts" : [
					"js/test1.js",
					"js/test2.js"
			],
			"styles" : [
					"css/test1.css",
					"css/test2.css"
			],
			"files" : [
					"img/*"
			]
		}
	}
}
```

Příklad definice komponenty
---------------------------

[](#příklad-definice-komponenty)

```
class BasePresenter extends Nette\UI\Presenter {

	/** @var \ComposerComponents\Control\Control $componentsControl */
	protected $componentsControl;

	/** @param \ComposerComponents\Control\Control $componentsControl */
	public function injectComponentsControl(\ComposerComponents\Control\Control $componentsControl)
	{
		$this->componentsControl = $componentsControl;
	}

	/** @return \ComposerComponents\Control\Control */
	protected function createComponentComponents($name)
	{
		return $this->componentsControl;
	}

}
```

Příklad v šabloně
-----------------

[](#příklad-v-šabloně)

```

		{control components}

		...

```

**Vykreslí podle příkladu výše:**

```

		...

```

**Vykreslení odděleně**

```

		{control components:css}

		...
		{control components:js}

```

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/aaf0814da7e68ded4badde13df3f04e893a8849dd472d966f4a0a1e27f3048ba?d=identicon)[frosty22](/maintainers/frosty22)

---

Top Contributors

[![frosty22](https://avatars.githubusercontent.com/u/905993?v=4)](https://github.com/frosty22 "frosty22 (10 commits)")

### Embed Badge

![Health badge](/badges/frosty22-composer-components/health.svg)

```
[![Health](https://phpackages.com/badges/frosty22-composer-components/health.svg)](https://phpackages.com/packages/frosty22-composer-components)
```

PHPackages © 2026

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