PHPackages                             bravo3/spa-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. bravo3/spa-bundle

ActiveLibrary[Framework](/categories/framework)

bravo3/spa-bundle
=================

Symfony 2 bundle to create a SPA web application

0.1.1(11y ago)074MITJavaScriptPHP &gt;=5.5.0

Since Mar 6Pushed 11y ago1 watchersCompare

[ Source](https://github.com/bravo3/spabundle)[ Packagist](https://packagist.org/packages/bravo3/spa-bundle)[ RSS](/packages/bravo3-spa-bundle/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (3)Used By (0)

Bravo3 Single-Page Application for Symfony 2
============================================

[](#bravo3-single-page-application-for-symfony-2)

This bundle enables you to turn any normal Symfony 2 application into a 'SPA' application, causing the first page load to be rendered normally and all consequtive page hits to be loaded via XHR.

Page content is broken into "blocks", only required blocks of the main site layout will be re-rendered.

This bundle requires your application to use Twig rendering, only minor changes to the controller are required:

```
class HomeController extends AbstractSpaController
{
    /**
     * @Route("/", name="home")
     * @param Request $request
     * @return Response
     */
    public function homeAction(Request $request)
    {
        // ..

        // Call the AbstractSpaController#render() function to trigger the SPA engine -
        return $this->render('@MySiteBundle/Home/home.html.twig', ['param' => 'value']);
    }
}

```

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

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.

###  Release Activity

Cadence

Every ~64 days

Total

2

Last Release

4073d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/347611?v=4)[Jordon](/maintainers/jordonsc)[@jordonsc](https://github.com/jordonsc)

---

Top Contributors

[![jordonsc](https://avatars.githubusercontent.com/u/347611?v=4)](https://github.com/jordonsc "jordonsc (2 commits)")

### Embed Badge

![Health badge](/badges/bravo3-spa-bundle/health.svg)

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

###  Alternatives

[laravel/dusk

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

1.9k39.6M300](/packages/laravel-dusk)[nineinchnick/edatatables

Grid widget for the Yii Framework, wrapper for the DataTables jQuery plugin

173.2k](/packages/nineinchnick-edatatables)[link-cloud/fast-hyperf

LinkCloud Fast Hyperf

241.2k1](/packages/link-cloud-fast-hyperf)

PHPackages © 2026

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