PHPackages                             gerkirill/silex-rad - 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. gerkirill/silex-rad

ActiveLibrary

gerkirill/silex-rad
===================

Set of dead simple Silex services for faster development

v1.2(11y ago)453MITPHPPHP &gt;=5.3.3

Since Aug 9Pushed 11y ago2 watchersCompare

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

READMEChangelog (4)Dependencies (2)Versions (5)Used By (0)

Silex RAD tools
===============

[](#silex-rad-tools)

Set of dead simple Silex services to make development faster.

[![Build Status](https://camo.githubusercontent.com/8d4002cad4bfa40fb6b1b52780729355bc3c77c069c59f2f9e75efdb688a398e/68747470733a2f2f7472617669732d63692e6f72672f6765726b6972696c6c2f73696c65782d7261642e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/gerkirill/silex-rad)

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

[](#installation)

Using composer

```
{"require": {"gerkirill/silex-rad": "dev-master"}}
```

Auto-Service
------------

[](#auto-service)

Registers all the classes located in the given directories as services (non-recursively). The constructor of the service will receive single parameter - $app. If you want to pass custom parameters to the constructor - just register the service yourself with the name auto-service would use.

```
$app->register(new \SilexRad\AutoService\Provider\AutoServiceProvider(), array(
    'rad.service.directories' => array(
        __DIR__ . '/../src/Service' => array('namespace' => 'Service')
    )
));
```

E.g. class Service\\MyTestService located in Service/MyTestService.php will be accessible with $app\['MyTestService'\]. Config key 'rad.service.directories' contains associative array where keys are paths to the folders you services reside in. The values are associative arrays with settings. Possible settings keys are:

- file\_extension - '.php' by default, you can change it e.g. to '.inc' if your services use that extension. Files with other extensions will be skipped.
- namespace - namespace you services are grouped under, e.g. "Services" or "MyVendor/MyProject/Services"

Default behaviour can be changed with settings $app\['rad.service\_name\_converter'\] and $app\['rad.service.registrator'\]. You can find more details on that under "Extension points" section.

Auto-Route
----------

[](#auto-route)

Handles routes in a form of '/{controller}/{action}' automatically. Requires controllers to be classes registered as services. {action} part is optional and defaults to "index".

```
// this built-in service provider is required to use auto-route
$app->register(new Silex\Provider\ServiceControllerServiceProvider());
// here you can use AutoServiceProvider to automatically register controllers as services, or you'll have to do it manually
$app->register(new \SilexRad\AutoRoute\Provider\AutoRouteProvider());
```

E.g. URL my-test/my-example will be processed with MyTest:myExample controller. The controller will be invoked with single parameter - $request. The url will match both GET and POST. If you need more precise route tuning - go create the route manually.

Auto-Template
-------------

[](#auto-template)

Detects twig template name by the current controller and action. Requires controller to be a class registered as service.

```
$app->register(new \SilexRad\AutoTemplate\Provider\AutoTemplateProvider());
```

In your controller you now can do like this:

```
class MyTestController {
    private $app;
    ...
    public function myExample() {
        return $this->app['rad.template.render'](['hello' => 'world']);
    }
}
```

And corresponding template would be my-test/my-example.twig under template directory configured for twig.

Extension points
----------------

[](#extension-points)

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity61

Established project with proven stability

 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 ~88 days

Total

4

Last Release

4030d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/613459?v=4)[Ger Kirill](/maintainers/gerkirill)[@gerkirill](https://github.com/gerkirill)

---

Top Contributors

[![gerkirill](https://avatars.githubusercontent.com/u/613459?v=4)](https://github.com/gerkirill "gerkirill (17 commits)")

### Embed Badge

![Health badge](/badges/gerkirill-silex-rad/health.svg)

```
[![Health](https://phpackages.com/badges/gerkirill-silex-rad/health.svg)](https://phpackages.com/packages/gerkirill-silex-rad)
```

PHPackages © 2026

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