PHPackages                             werkint/webapp-bundle - 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. [Framework](/categories/framework)
4. /
5. werkint/webapp-bundle

AbandonedSymfony-bundle[Framework](/categories/framework)

werkint/webapp-bundle
=====================

Werkint Webapp bundle

v0.0.1(10y ago)23071GPL-3.0+PHPPHP &gt;=5.5

Since Jan 11Pushed 7y ago1 watchersCompare

[ Source](https://github.com/Werkint/WebappBundle)[ Packagist](https://packagist.org/packages/werkint/webapp-bundle)[ RSS](/packages/werkint-webapp-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (10)Versions (2)Used By (1)

WebappBundle
============

[](#webappbundle)

Bundle provides better experience when bulding applications with Symfony2
-------------------------------------------------------------------------

[](#bundle-provides-better-experience-when-bulding-applications-with-symfony2)

Scripts = js/scss files

Briefly, it allows:

- Autoloading of Scripts, based on the template name (with "template.twig" files "template.js" and "template.scss" are loaded).
- Passing of variables directly to Scripts (yes, to SCSS also). Even arrays and objects are supported.
- Processing of Scripts: they are minimized and merged into single files. Caching helps to avoid high load.
- Clever browser cache: you can use a tag to differentiate cached files (for example, part of GIT hash). While assetic force you to set this tag manually, Webapp handle it automtically.
- Beauty of SCSS mixins: the files are merged before processing, so you can define variables, mixins, etc somethere and use later.
- Repository of Scripts: you can create packages of Scripts, defining dependencies. They are automatically updated on composer.phar update.

### Configuring the bundle

[](#configuring-the-bundle)

Add bundle to composer dependencies, then add this configuration:

```
werkint_webapp:
    respath:  /res/cached # public path for cached Scripts
    resdir:   %kernel.root_dir%/cache/scripts # directory for cached Scripts
    revpath:  %kernel.root_dir%/cache/revision # tag file (for browser cache)
    scripts:  %kernel.root_dir%/scripts # directory with downloaded packages
```

### Configuring cached files tagging

[](#configuring-cached--files-tagging)

For automatic tagging there should be a file with current repository tag. It is convenient to change this file in a git hook, and store there commit hash (symlink or source this file in .git/hooks):

```
#!/bin/bash
DIR_CACHE=app/cache
HASH=$(git rev-parse HEAD)
REVISION_FILE="$DIR_CACHE/revision"
```

Path to tag file is stored in "werkint\_webapp -&gt; revpath" config parameter.

### Connecting to Scripts repository

[](#connecting-to-scripts-repository)

Repository is located in . There are files ".packages" with a list of available Scripts and ".hashes" with package hashes. Each package is located in "{url}/packages/{package\_name}". List of files is stored in "{package\_url}/.package.ini", file hashes in "{package\_url}/.hashes".

".package.ini" structure is simple:

```
[files]
deps  = jquery # dependencies
files = file1.js,file1.scss # Scripts
res   = img1.gif # resources - files,
                 # that are symlinked directly in the public path
```

If there is a resource-directory, it is zipped and downloaded as archive, then unzipped in local directory. For example, we have "tiny\_mce" resource - directory with files, that will be available as "/res/cached/tiny\_mce/file.." and should not be processed (tinymce connect them in runtime). It is stored as tiny\_mce.zip in repository, and unpacked after download. When Webapp in composer hook updates Scripts, it only checks archive hash, so time is saved.

Firstly, create a directory for downloaded scripts, for example "app/scripts". Then set path to this directory and update hooks in root composer.json:

```
{
    ...
    "scripts":           {
        "post-install-cmd": [
            ...
            "Werkint\\Bundle\\WebappBundle\\Webapp\\ComposerScriptHandler::updateScripts"
        ],
        "post-update-cmd":  [
            ...
            "Werkint\\Bundle\\WebappBundle\\Webapp\\ComposerScriptHandler::updateScripts"
        ]
    },
    "extra":             {
        ...
        "werkint-webapp-scripts": "app/scripts"
    }
}
```

Now, every time you invoke compsoser update, Scrips are updated;

Note, that library does not support IE&lt;9, Firefox&lt;4, Opera&lt;12.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 50% 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

Unknown

Total

1

Last Release

3780d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/533d0c99c4e0c7413a1dcce2d81c37ecf94883e6377d274d6f43247a399bb268?d=identicon)[nick4fake](/maintainers/nick4fake)

---

Top Contributors

[![igrvak](https://avatars.githubusercontent.com/u/8102232?v=4)](https://github.com/igrvak "igrvak (2 commits)")[![tomfun](https://avatars.githubusercontent.com/u/5002775?v=4)](https://github.com/tomfun "tomfun (2 commits)")

### Embed Badge

![Health badge](/badges/werkint-webapp-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/werkint-webapp-bundle/health.svg)](https://phpackages.com/packages/werkint-webapp-bundle)
```

###  Alternatives

[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)

PHPackages © 2026

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