PHPackages                             skrz/stack - 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. skrz/stack

AbandonedArchivedLibrary[Framework](/categories/framework)

skrz/stack
==========

Skrz's Symfony blend

317PHP

Since Jul 29Pushed 10y ago6 watchersCompare

[ Source](https://github.com/skrz/stack)[ Packagist](https://packagist.org/packages/skrz/stack)[ RSS](/packages/skrz-stack/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Skrz\\Stack
===========

[](#skrzstack)

[![Downloads this Month](https://camo.githubusercontent.com/89f1a0a7905d217787834826cf13c63c79202e84438d78cd3c4a597d486dd415/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f736b727a2f737461636b2e737667)](https://packagist.org/packages/skrz/stack)

> Minimal @symfony installation with @SkrzCzDev's goodies

Requirements
------------

[](#requirements)

`Skrz\Stack` requires PHP `>= 5.4.0`, [RabbitMQ](https://www.rabbitmq.com/download.html) is optional, but required for full functionality.

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

[](#installation)

Via composer's create-project

```
$ composer create-project skrz/stack . dev-master
```

Why?
----

[](#why)

At [Skrz.cz](http://skrz.cz/), we love symfony and are trying to get maximum out of it. We also created a set of tools that make it even more usable + faster and wanted to share it with world.

What's inside
-------------

[](#whats-inside)

Beside symfony we also included these goodies for your quick start

##### [Skrz/AutowiringBundle](https://github.com/skrz/autowiring-bundle#skrzbundleautowiringbundle)

[](#skrzautowiringbundle)

No more writing all your classes into services.yml file. Just add annotation and let AutowiringBundle do the rest. For more information visit it's [repo](https://github.com/skrz/autowiring-bundle#skrzbundleautowiringbundle).

##### [Skrz/BunnyBundle](https://github.com/skrz/bunny-bundle)

[](#skrzbunnybundle)

Using Message queue in symfony has never been easier! We took ours [@jakubkulhan](https://github.com/jakubkulhan)'s [Bunny](https://github.com/jakubkulhan/bunny) and using the AutowiringBundle made it possible to write and configure all your MQ resources with a single annotation.

##### [Skrz/Meta](https://github.com/skrz/meta)

[](#skrzmeta)

If you have to pair your entities across multiple databases with different formats, Skrz/Meta takes care of making all the data available in the exact form you need.

##### [Nette/Tracy](https://github.com/nette/tracy)

[](#nettetracy)

Debugging tool you will love ♥. Nette framework's own debugging tool that allows you to handle all your troubles effectively.

###### And more...

[](#and-more)

Usage
-----

[](#usage)

We added example's so that your start is even quicker

##### [HomepageController](https://github.com/skrz/stack/blob/master/src/App/Controller/HomepageController.php)

[](#homepagecontroller)

Shows how easy it is to autowire a value from your configuration. Also Uses `@Controller` annotation so that you don't need to specify this class in your services.yml file.

##### [HelloWorldCommand](https://github.com/skrz/stack/tree/master/src/App/Command/HelloWorldCommand.php)

[](#helloworldcommand)

Example of basic command usage. We use commands as occasional console tools. For task example see below

##### [PushToPipelineTask](https://github.com/skrz/stack/tree/master/src/App/Task/PushToPipelineTask.php)

[](#pushtopipelinetask)

Every task extends [AbstractTask Class](https://github.com/skrz/stack/tree/master/src/Skrz/Console/AbstractTask.php) which enhances it with

- [Monolog logger](https://github.com/Seldaek/monolog) including preset log rotating.
- [Alert service](https://github.com/skrz/stack/tree/master/src/Skrz/Service/AlertService.php) that notifies you every time task ends unexpectedly

This task calls pushes message via ChangeProducer to your RabbitMQ. Uses `@Task` annotation.

##### [ChangeProducer](https://github.com/skrz/stack/tree/master/src/App/MQ/Producer/ChangeProducer.php)

[](#changeproducer)

Shows how to push a message to MQ's exchange. Uses `@Producer` annotation`.

##### [BunnyConsumer](https://github.com/skrz/stack/tree/master/src/App/MQ/Consumer/BunnyConsumer.php)

[](#bunnyconsumer)

Every message needs its consumer. This one only writes out its contents so far. Uses `@Consumer` annotation.

### Basic MQ example

[](#basic-mq-example)

1. First of all you need to install RabbitMQ. See official instructions [here](https://www.rabbitmq.com/download.html)
2. After installation setup the exchange and queue with command

    ```
    $ php console bunny:setup
    ```
3. Run BunnyConsumer (for production manage of consumers you can use [Supervisor](http://supervisord.org/))

    ```
    $ php console bunny:consumer bunny
    ```
4. To push message to `change` exchange run task PushToPipeline

    ```
    $ php console task:pipeline:push
    ```
5. In bunny consumer log you can see that message was received and processed

    ```
    [2015-07-29 22:54:11] App.DEBUG: Got message 'Hi there!' created at 2015-07-29 22:54:11 via application App on host Skrz.local Acking...
    ```

TODO
----

[](#todo)

- Include Skrz/ORM
- Include Skrz/TemplatingBundle
- Tests
- PHP\_CodeSniffer

License
-------

[](#license)

The MIT license. See `LICENSE` file.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity43

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.

### Community

Maintainers

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

---

Top Contributors

[![jakubkulhan](https://avatars.githubusercontent.com/u/95001?v=4)](https://github.com/jakubkulhan "jakubkulhan (3 commits)")[![klatys](https://avatars.githubusercontent.com/u/725081?v=4)](https://github.com/klatys "klatys (3 commits)")

### Embed Badge

![Health badge](/badges/skrz-stack/health.svg)

```
[![Health](https://phpackages.com/badges/skrz-stack/health.svg)](https://phpackages.com/packages/skrz-stack)
```

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M192](/packages/laravel-telescope)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)

PHPackages © 2026

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