PHPackages                             phil/websymfony - 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. phil/websymfony

ActiveSymfony-application-template[Framework](/categories/framework)

phil/websymfony
===============

A template to initialize an web application to use Symfony 7.0

7.0.1(2y ago)02[8 PRs](https://github.com/parler-haut-interagir-librement/WebSymfony/pulls)MITPHPPHP &gt;=8.3

Since Nov 16Pushed 1y ago1 watchersCompare

[ Source](https://github.com/parler-haut-interagir-librement/WebSymfony)[ Packagist](https://packagist.org/packages/phil/websymfony)[ Docs](https://ph-il.ca)[ RSS](/packages/phil-websymfony/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (56)Versions (13)Used By (0)

“**Proclaim** *Honestly*, **Interact** *Liberally*” **Web***Symfony*
====================================================================

[](#proclaim-honestly-interact-liberally-websymfony)

“**Proclaim** *Honestly*, **Interact** *Liberally*” **Web***Symfony* is a Symfony 7.0 application skeleton on steroids, ready to use.

The purpose of **Web***Symfony* is to provide a sandbox with some sensible defaults and ready to use. It can be a solution if you want to quickly set up something, create a POC, test things, and even make a small "one-page" application.

It was base on [strangebuzz/MicroSymfony](https://github.com/strangebuzz/MicroSymfony) with adjustment we're usually adding on all our projects. We also remove many examples.

Demo 🌈
------

[](#demo-)

Because a live demo is always better than all explanations. Here is it:

- Live demo **will** be available at

Requirements ⛮
--------------

[](#requirements-)

All “**Proclaim** Honestly, **Interact** Liberally” project will use the latest version within 1 or 2 months depending on dependencies availability.

- [PHP 8.3](https://www.php.net/releases/8.3/en.php)
- The [Symfony CLI](https://symfony.com/download)

Optional requirements ⚙
-----------------------

[](#optional-requirements-)

- The [Xdebug](https://xdebug.org/) PHP extension if you want to run the code coverage report (optional but recommended)
- [Castor 0.9.1](https://github.com/jolicode/castor) task runner (optional)

Stack 🔗
-------

[](#stack-)

All “**Proclaim** Honestly, **Interact** Liberally” project will use the latest version within 1 or 2 months depending on dependencies availability.

- [Symfony 7.0](https://symfony.com/7)
- [Twig 3.8](https://twig.symfony.com)
- [Stimulus 3.2](https://stimulus.hotwired.dev/)
- [PHPUnit 11.0](https://phpunit.de)

Features 🚀
----------

[](#features-)

**Web***Symfony* ships these features, ready to use:

- One task runner
    - Castor ([source](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/castor.php))
- Static analysis with PHPStan
    - [Configuration](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/phpstan.neon)
- Coding standards with php-cs-fixer
    - [Configuration](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/.php-cs-fixer.dist.php)
- Refactoring with Rector
    - [Configuration](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/restor.php)
- The debug toolbar ([doc](https://symfony.com/doc/current/profiler.html))
- Tests ([organisation](https://www.strangebuzz.com/en/blog/organizing-your-symfony-project-tests))
    - Unit test [example](https://github.com/parler-haut-interagir-librement/WebSymfony/tree/main/tests/Unit/Helper)
    - Integration test [example](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/tests/Integration/Twig/Extension/ResponseExtensionTest.php)
    - Functional test [example](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/tests/Functional/Controller/AppControllerTest.php)
    - API test [example](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/tests/Api/Controller/SlugifyActionTest.php)
    - E2E test [example](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/tests/E2E/Controller/AppControllerTest.php)
- Code coverage at 100%
    - [Output on CI](https://github.com/parler-haut-interagir-librement/WebSymfony/actions/runs/6191674576/job/16810366756)
    - [Failing output example](https://github.com/parler-haut-interagir-librement/WebSymfony/actions/runs/6176766049/job/16766431026)
- GitHub CI ([actions](https://github.com/parler-haut-interagir-librement/WebSymfony/actions))
    - [Tests job output](https://github.com/parler-haut-interagir-librement/WebSymfony/actions/runs/6191674576/job/16810366756)
    - [Lint job output](https://github.com/parler-haut-interagir-librement/WebSymfony/actions/runs/6191674576/job/16810366901)
- Asset mapper+Stimulus ([documentation](https://symfony.com/doc/current/frontend/asset_mapper.html))
    - Vanilla Js ([source](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/assets/controllers/hello_controller.js)) ([demo](https://ph-il.ca/demos/websymfony/stimulus))
    - Fetch on a JSON endpoint of the application ([source](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/assets/controllers/api_controller.js)) ([demo](https://ph-il.ca/demos/websymfony/stimulus))
- Tailwind CSS
- Symfony Maker ([documentation](https://symfony.com/bundles/SymfonyMakerBundle/current/index.html))
- A custom error template
    - [Source](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/templates/bundles/TwigBundle/Exception/error.html.twig)
    - [Demo](https://ph-il.ca/demos/microsymfony/404)
- Database
    - Doctrine ([documentation](https://symfony.com/bundles/DoctrineBundle/current/index.html))
    - Doctrine Migrations ([documentation](https://symfony.com/bundles/DoctrineMigrationsBundle/current/index.html))
    - Doctrine Fixture ([documentation](https://symfony.com/bundles/DoctrineFixturesBundle/current/index.html))
    - Doctrine Extensions ([configuration in sumfony](https://symfony.com/bundles/StofDoctrineExtensionsBundle/current/index.html)) ([documentation](https://github.com/doctrine-extensions/DoctrineExtensions/tree/main/doc))
- Object Menu ([example](https://github.com/parler-haut-interagir-librement/WebSymfony/tree/main/src/Menu/MainMenuBuilder.php))
- Security Layers
    - SymfonySecurity ([documentation](https://symfony.com/doc/current/security.html))
    - NelmioSecurityBundle ([documentation](https://symfony.com/bundles/NelmioSecurityBundle/current/index.html))
    - NelmioCorsBundle ([documentation](https://symfony.com/bundles/NelmioCorsBundle/current/index.html))
- Admin
    - EasyAdmin ([documentation](https://symfony.com/bundles/EasyAdminBundle/current/index.html))

Other good practices 👌
----------------------

[](#other-good-practices-)

- Using strict types in all PHP files ([source](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/src/Controller/AppController.php))
- Using the ADR pattern in an action controller ([source](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/src/Controller/SlugifyAction.php)) ([doc](https://symfony.com/doc/current/controller/service.html#invokable-controllers))
- The [composer.json](https://github.com/parler-haut-interagir-librement/WebSymfony/blob/main/composer.json)file is normalized with [ergebnis/composer-normalize](https://github.com/ergebnis/composer-normalize)
- Use of the [composer bin plugin](https://github.com/bamarni/composer-bin-plugin)to install and run `php-cs-fixer`.

Initializing an application with WebSymfony 🪄
---------------------------------------------

[](#initializing-an-application-with-websymfony-)

### Initializing using composer

[](#initializing-using-composer)

As the application template is [registered on Packagist](https://packagist.org/packages/phil/websymfony), you can use composer to install it with the following command:

```
$ composer create-project phil/websymfony

```

It creates a websymfony directory with the new project. In this case, you must set up Git and a repository yourself. But that's the fastest way to test it.

Note that the composer install command downloads all the required dependencies and builds the assets.

### Initializing from Github site

[](#initializing-from-github-site)

Or use the GitHub template:

[![Use this template button](https://raw.githubusercontent.com/parler-haut-interagir-librement/WebSymfony/bc7b206da4c04f48b915d9dc506a75025276b3a8/doc/use-this-template.png "Use this template")](https://raw.githubusercontent.com/parler-haut-interagir-librement/WebSymfony/bc7b206da4c04f48b915d9dc506a75025276b3a8/doc/use-this-template.png)

### Initializing from Github CLI

[](#initializing-from-github-cli)

```
$ gh repo create my-project --clone --private --template parler-haut-interagir-librement/WebSymfony

```

### Serving the application

[](#serving-the-application)

To serve the application with the Symfony binary, run:

```
$ symfony server:start --daemon

```

or use the castor command

```
$ castor symfony:start

```

The application is now available at  (considering your 8000 port is available).

References 📚
------------

[](#references-)

- [Installing and using php-cs-fixer](https://www.strangebuzz.com/en/blog/installing-and-using-php-cs-fixer) (strangebuzz.com)
- [Castor, a journey across the sea of task runners](https://jolicode.com/blog/castor-a-journey-across-the-sea-of-task-runners) (jolicode.com)
- [Initializing your Symfony project with solid foundations](https://www.strangebuzz.com/en/blog/initializing-your-symfony-project-with-solid-foundations) (strangebuzz.com)
- [Organizing your Symfony project tests](https://www.strangebuzz.com/en/blog/organizing-your-symfony-project-tests) (strangebuzz.com)
- [What are your Symfony best practices?](https://www.strangebuzz.com/en/blog/what-are-your-symfony-best-practices) (strangebuzz.com)
- [Setting a CI/CD workflow for a Symfony project thanks to the GitHub actions](https://www.strangebuzz.com/en/blog/setting-a-ci-cd-workflow-for-a-symfony-project-thanks-to-the-github-actions) (strangebuzz.com)
- [The Symfony Framework Best Practices](https://symfony.com/doc/current/best_practices.html) (symfony.com)

Others “**Proclaim** Honestly, **Interact** Liberally” Skeletons 🩻
------------------------------------------------------------------

[](#others-proclaim-honestly-interact-liberally-skeletons-)

- [MicroSymfony](https://github.com/parler-haut-interagir-librement/MicroSymfony)

    - Task runner
        - Castor
    - Static Analysis
        - PHPStan
    - Coding standards
        - php-cs-fixer
    - Refactoring
        - Rector
    - Debug toolbar
    - Tests
        - Unit test
        - Integration test
        - Functional test
        - API test
        - E2E test
    - GitHub CI
    - Asset mapper
    - Stimulus
    - Symfony Maker
    - Custom error template
- [ApiSymfony](https://github.com/parler-haut-interagir-librement/ApiSymfony)

    - API Platform
    - Task runner
        - Castor
    - Static Analysis
        - PHPStan
    - Coding standards
        - php-cs-fixer
    - Refactoring
        - Rector
    - Tests
        - Unit test
        - API test
        - E2E test
    - GitHub CI
    - Symfony Maker
- [WebSkeleton](https://github.com/parler-haut-interagir-librement/WebSkeleton)

    - WebSymfony +
    - CSS framework
        - Tailwind CSS
        - DaisyUI : Add semantic to Tailwind CSS
    - “**Proclaim** Honestly, **Interact** Liberally” Bundles
        - phil-ux - Add Base Twig Components
            - Install Tailwind CSS and DaisyUI
            - Add Base Twig Components using DaisyUI semantic
        - PhilDoctrineExtensionStofBundle - Add missing stuff to StofDoctrineExtensionsBundle
        - PhilDoctrineExtensionPublishBundle - Add Publish functionality to Doctrine Entity
    - more.

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity64

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

Total

4

Last Release

809d ago

Major Versions

0.2.0 → 7.0.02024-02-26

PHP version history (2 changes)0.1.0PHP &gt;=8.2

7.0.0PHP &gt;=8.3

### Community

Maintainers

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

---

Top Contributors

[![ph-il](https://avatars.githubusercontent.com/u/80009?v=4)](https://github.com/ph-il "ph-il (47 commits)")

---

Tags

phpsymfonyradproject templateweb-applicationpoc

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Type Coverage Yes

### Embed Badge

![Health badge](/badges/phil-websymfony/health.svg)

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

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[forumify/forumify-platform

121.8k11](/packages/forumify-forumify-platform)[easycorp/easyadmin-demo

EasyAdmin Demo Application

145.7k](/packages/easycorp-easyadmin-demo)[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)[kimai/kimai

Kimai - Time Tracking

4.6k7.4k1](/packages/kimai-kimai)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)

PHPackages © 2026

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