PHPackages                             drago-ex/application - 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. drago-ex/application

ActiveLibrary[Framework](/categories/framework)

drago-ex/application
====================

Extension for Nette Framework, providing reusable UI components, alert types, and flash message handling.

v2.1.0(2w ago)04.0k7MITLattePHP &gt;=8.3 &lt;9CI passing

Since Oct 9Pushed 1w ago1 watchersCompare

[ Source](https://github.com/drago-ex/application)[ Packagist](https://packagist.org/packages/drago-ex/application)[ RSS](/packages/drago-ex-application/feed)WikiDiscussions master Synced 5d ago

READMEChangelog (10)Dependencies (27)Versions (34)Used By (7)

Drago Application
=================

[](#drago-application)

The Drago Extension is a package built on top of the Nette Framework, designed to provide several useful components for your web applications. Below are the classes in the extension and how you can use them.

[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://github.com/drago-ex/application/blob/master/license)[![PHP version](https://camo.githubusercontent.com/5dd2c6a83d160b8a8306a34aa8d336392de70d9d9490574d9bbd6efe8845cd47/68747470733a2f2f62616467652e667572792e696f2f70682f647261676f2d65782532466170706c69636174696f6e2e737667)](https://badge.fury.io/ph/drago-ex%2Fapplication)[![Coding Style](https://github.com/drago-ex/application/actions/workflows/coding-style.yml/badge.svg)](https://github.com/drago-ex/application/actions/workflows/coding-style.yml)

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

[](#requirements)

- PHP &gt;= 8.3
- Nette Framework
- Composer
- Bootstrap
- Naja

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

[](#installation)

```
composer require drago-ex/application

```

Project files
-------------

[](#project-files)

File copying is handled automatically by [drago-ex/project-tools](https://github.com/drago-ex/project-tools), which must be installed in your project. Without it, copy the files manually according to the `copy` section in this package's `composer.json`. To skip this package, set `"skip": true` under `extra.drago-tools.packages.` in your root `composer.json`.

Check if there is a pair signal receiver and name (default is edit).
--------------------------------------------------------------------

[](#check-if-there-is-a-pair-signal-receiver-and-name-default-is-edit)

```
$this->getSignal();
```

Is AJAX request?
----------------

[](#is-ajax-request)

Shorter method in control.

```
$this->isAjax();
```

Retrieves a form component by its name.
---------------------------------------

[](#retrieves-a-form-component-by-its-name)

```
$form = $this['factory'];
$submitButton = $this->getFormComponent($form, 'submit');
$submitButton->setCaption('Edit');
```

Form factory with a custom form class
-------------------------------------

[](#form-factory-with-a-custom-form-class)

Use `Drago\Application\UI\Factory` when you want a typed factory for another form class, for example `ExtraForms` from `drago-ex/form`.

```
use Drago\Form\ExtraForms;

/**
 * @extends \Drago\Application\UI\Factory
 */
readonly class Factory extends \Drago\Application\UI\Factory
{
	protected function createForm(): ExtraForms
	{
		return new ExtraForms;
	}
}
```

Base template class extending Nette Template.
---------------------------------------------

[](#base-template-class-extending-nette-template)

Use it in presenter or control PHPDoc:

```
/**
 * @property-read Drago\Application\UI\ExtraTemplate $template
 */
class Presenter {}
```

In Latte, we will use these macros to insert into the template, which will tell us the variables and types that can be used by default in the template.

```
{templateType Drago\Application\UI\ExtraTemplate}
{varType Drago\Application\UI\Flashes[] $flashes}

{include 'path/to/@flash-message.latte', flashes: $flashes}
```

Flash message alert type
------------------------

[](#flash-message-alert-type)

- [Alert](https://github.com/drago-ex/application/blob/master/src/Drago/Application/UI/Alert.php)

Toast - Bootstrap and Naja component for flash messages
-------------------------------------------------------

[](#toast---bootstrap-and-naja-component-for-flash-messages)

JavaScript setup
----------------

[](#javascript-setup)

Since the package is installed via Composer, add the following to your `package.json`:

```
{
  "type": "module",
  "dependencies": {
    "drago-application": "file:vendor/drago-ex/application"
  }
}
```

Then run `npm install`.

```
import ToastHandler from 'drago-application/bootstrap-toast';
```

Using toast in a Latte template
-------------------------------

[](#using-toast-in-a-latte-template)

```
{include 'path/to/@toast.latte', flashes: $flashes}
```

###  Health Score

59

—

FairBetter than 98% of packages

Maintenance98

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity84

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 99.7% 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 ~76 days

Recently: every ~2 days

Total

33

Last Release

14d ago

Major Versions

v1.0.30 → v2.0.02026-05-30

PHP version history (6 changes)v1.0.0PHP &gt;=7.1

v1.0.3PHP &gt;=7.4

v1.0.4PHP &gt;=8.0

v1.0.17PHP &gt;=8.1

v1.0.20PHP &gt;=8.1 &lt;8.4

v1.0.23PHP &gt;=8.3 &lt;9

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/5998929?v=4)[Zdeněk Papučík](/maintainers/accgit)[@accgit](https://github.com/accgit)

---

Top Contributors

[![accgit](https://avatars.githubusercontent.com/u/5998929?v=4)](https://github.com/accgit "accgit (338 commits)")[![codacy-badger](https://avatars.githubusercontent.com/u/23704769?v=4)](https://github.com/codacy-badger "codacy-badger (1 commits)")

---

Tags

applicationnette

### Embed Badge

![Health badge](/badges/drago-ex-application/health.svg)

```
[![Health](https://phpackages.com/badges/drago-ex-application/health.svg)](https://phpackages.com/packages/drago-ex-application)
```

###  Alternatives

[nette/bootstrap

🅱 Nette Bootstrap: the simple way to configure and bootstrap your Nette application.

68637.6M654](/packages/nette-bootstrap)[nette/web-project

Nette: Standard Web Project

10993.3k](/packages/nette-web-project)[nette/nette

👪 Nette Framework - innovative framework for fast and easy development of secured web applications in PHP (metapackage)

1.6k2.8M337](/packages/nette-nette)[ublaboo/datagrid

DataGrid for Nette Framework: filtering, sorting, pagination, tree view, table view, translator, etc

3042.0M26](/packages/ublaboo-datagrid)[nasext/dependent-select-box

Dependent Select Box for Nette Framework.

21271.2k2](/packages/nasext-dependent-select-box)

PHPackages © 2026

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