xactsystems / js-routing-bundle
A JS routing bundle for Symfony 4+ using webpack. Derived from the FOS JSRoutingBundle. See 3.4 branch for Symfony 3.4.
Installs: 1 027
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 1
Type:symfony-bundle
Requires
- php: >=8.1
- symfony/asset: ^6.4||^7.1
- symfony/framework-bundle: ^6.4||^7.1
- symfony/serializer-pack: ^1.3
- symfony/twig-bundle: ^6.4||^7.1
- symfony/yaml: *
- williarin/cook: ^1.3
Requires (Dev)
- phpstan/extension-installer: ^1.4
- phpstan/phpdoc-parser: ^1.29
- phpstan/phpstan: ^1.11
- phpstan/phpstan-deprecation-rules: ^1.2
- phpstan/phpstan-doctrine: ^1.5
- phpstan/phpstan-symfony: ^1.4
- slevomat/coding-standard: ^8.15
- squizlabs/php_codesniffer: ^3.10
- symfony/debug-bundle: ^7.1
- symfony/phpunit-bridge: ^7.1
README
This bundle allows you to expose your Symfony routes and use them in your webpack managed JavaScript code. It allows you to easily integrate the functionality of the FOSJsRoutingBundle into webpack modules.
Documentation
1) Add JSRoutingBundle to your project
composer require xactsystems/js-routing-bundle
For Symfony 3.4 use:
composer require xactsystems/js-routing-bundle:^3.4
2) Include the routing template in your base Twig template
// templates/base.html.twig {{ include("@XactJSRouting/js-routing.html.twig") }}
3) Include the JS module in your App.js
// assets/js/App.js // Import the JS routing scripts import '../../vendor/xactsystems/js-routing-bundle/assets/js-routing.js';
The actual path to the js-routing.js file may not be exactly as shown, you may need to adjust this for your own project.
4) Using the routing class, exactly as you would with FOS bundle
// Get the URL of your routes let url1 = Routing.generate('home'); let url2 = Routing.generate('some-other-route', {id: myLocalId, state: myLocalState});
5) For Symfony 3.4, if you are not using Flex and ENV you may need to add the following:
// app/AppKernel.php public function registerBundles() { // You many need to do this to get the render(controller()) Twig method working for XactJSRoutingBundle $_ENV["APP_ENV"] = $this->getEnvironment();
And for the Symfony Serializer component:
// app/config/config.yml framework: ... # If you haven't already enabled the Symfony Serializer serializer: { enabled: true }
Credits
- Ian Foulds as the creator of this package.
- William DURAND as author of the FOS bundle.
- Julien MUETTON (Carpe Hora) for the inspiration.
License
This bundle is released under the MIT license. See the complete license in the bundle: