phil / websymfony
A template to initialize an web application to use Symfony 7.0
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 8
Type:symfony-application-template
Requires
- php: >=8.3
- ext-ctype: *
- ext-dom: *
- ext-iconv: *
- ext-libxml: *
- ext-simplexml: *
- ext-xml: *
- doctrine/doctrine-bundle: ^2.11
- doctrine/doctrine-migrations-bundle: ^3.3
- doctrine/orm: ^2.18|^3.0
- easycorp/easyadmin-bundle: ^4.9
- knplabs/knp-menu-bundle: ^3.3
- league/commonmark: ^2.4
- nelmio/cors-bundle: ^2.4
- nelmio/security-bundle: ^3.1
- stof/doctrine-extensions-bundle: ^1.11
- symfony/asset: 7.0.*
- symfony/asset-mapper: 7.0.*
- symfony/console: 7.0.*
- symfony/dotenv: 7.0.*
- symfony/flex: ^2.4
- symfony/form: 7.0.*
- symfony/framework-bundle: 7.0.*
- symfony/intl: 7.0.*
- symfony/monolog-bundle: ^3.10
- symfony/runtime: 7.0.*
- symfony/security-bundle: 7.0.*
- symfony/stimulus-bundle: ^2.15
- symfony/translation: 7.0.*
- symfony/twig-bundle: 7.0.*
- symfony/ux-twig-component: ^2.15
- symfony/validator: 7.0.*
- symfony/web-link: 7.0.*
- symfony/yaml: 7.0.*
- symfonycasts/tailwind-bundle: ^0.5
- tales-from-a-dev/flowbite-bundle: ^0.4.0
- twig/extra-bundle: ^3.8
- twig/html-extra: ^3.8
- twig/intl-extra: ^3.8
- twig/markdown-extra: ^3.8
- twig/string-extra: ^3.8
- twig/twig: ^3.8
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.8
- doctrine/doctrine-fixtures-bundle: ^3.5
- phpstan/extension-installer: ^1.3
- phpstan/phpdoc-parser: ^1.26
- phpstan/phpstan: ^1.10
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-doctrine: ^1.3
- phpstan/phpstan-strict-rules: ^1.5
- phpstan/phpstan-symfony: ^1.3
- phpunit/phpunit: ^11.0
- rector/rector: ^1.0
- roave/security-advisories: dev-latest
- symfony/browser-kit: 7.0.*
- symfony/css-selector: 7.0.*
- symfony/debug-bundle: 7.0.*
- symfony/maker-bundle: ^1.55
- symfony/panther: ^2.1
- symfony/requirements-checker: ^2.0
- symfony/stopwatch: 7.0.*
- symfony/var-dumper: 7.0.*
- symfony/web-profiler-bundle: 7.0.*
Conflicts
- dev-main
- 7.0.1
- 7.0.0
- 0.2.0
- 0.1.0
- dev-dependabot/composer/league/commonmark-2.6.0
- dev-dependabot/composer/symfony/security-http-7.1.8
- dev-dependabot/composer/symfony/http-client-7.1.8
- dev-dependabot/composer/symfony/process-7.1.7
- dev-dependabot/composer/symfony/http-foundation-7.1.7
- dev-dependabot/composer/symfony/validator-7.1.4
- dev-dependabot/composer/symfony/security-bundle-7.0.10
- dev-dependabot/composer/symfony/runtime-7.1.7
This package is auto-updated.
Last update: 2024-12-10 00:30:39 UTC
README
“Proclaim Honestly, Interact Liberally” WebSymfony is a Symfony 7.0 application skeleton on steroids, ready to use.
The purpose of WebSymfony 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 with adjustment we're usually adding on all our projects. We also remove many examples.
Demo 🌈
Because a live demo is always better than all explanations. Here is it:
- Live demo will be available at https://ph-il.ca/demos/websymfony
Requirements ⛮
All “Proclaim Honestly, Interact Liberally” project will use the latest version within 1 or 2 months depending on dependencies availability.
- PHP 8.3
- The Symfony CLI
Optional requirements ⚙
- The Xdebug PHP extension if you want to run the code coverage report (optional but recommended)
- Castor 0.9.1 task runner (optional)
Stack 🔗
All “Proclaim Honestly, Interact Liberally” project will use the latest version within 1 or 2 months depending on dependencies availability.
Features 🚀
WebSymfony ships these features, ready to use:
- One task runner
- Castor (source)
- Static analysis with PHPStan
- Coding standards with php-cs-fixer
- Refactoring with Rector
- The debug toolbar (doc)
- Tests (organisation)
- Code coverage at 100%
- GitHub CI (actions)
- Asset mapper+Stimulus (documentation)
- Tailwind CSS
- Symfony Maker (documentation)
- A custom error template
- Database
- Doctrine (documentation)
- Doctrine Migrations (documentation)
- Doctrine Fixture (documentation)
- Doctrine Extensions (configuration in sumfony) (documentation)
- Object Menu (example)
- Security Layers
- SymfonySecurity (documentation)
- NelmioSecurityBundle (documentation)
- NelmioCorsBundle (documentation)
- Admin
- EasyAdmin (documentation)
Other good practices 👌
- Using strict types in all PHP files (source)
- Using the ADR pattern in an action controller (source) (doc)
- The composer.json file is normalized with ergebnis/composer-normalize
- Use of the composer bin plugin
to install and run
php-cs-fixer
.
Initializing an application with WebSymfony 🪄
Initializing using composer
As the application template is registered on Packagist, 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
Or use the GitHub template:
Initializing from Github CLI
$ gh repo create my-project --clone --private --template parler-haut-interagir-librement/WebSymfony
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 https://127.0.0.1:8000 (considering your 8000 port is available).
References 📚
- Installing and using php-cs-fixer (strangebuzz.com)
- Castor, a journey across the sea of task runners (jolicode.com)
- Initializing your Symfony project with solid foundations (strangebuzz.com)
- Organizing your Symfony project tests (strangebuzz.com)
- What are your Symfony best practices? (strangebuzz.com)
- Setting a CI/CD workflow for a Symfony project thanks to the GitHub actions (strangebuzz.com)
- The Symfony Framework Best Practices (symfony.com)
Others “Proclaim Honestly, Interact Liberally” Skeletons 🩻
-
- 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
- Task runner
-
- 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
-
- 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
- phil-ux - Add Base Twig Components
- more.