Silex JSRouting Provider
The JSRouting Provider is a silex routing provider for javascript, that exposes routes to a javascript file. Then you can generate routes for use with javascript frameworks like AngularJS., (*1)
, (*2)
Installation
Add the provider to your composer.json
``` {.json}
{
"requires": {
"rootlogin/jsrouting-provider": "~1.0"
}
}, (*3)
Register the provider in your silex application:
``` {.php}
$app->register(new rootLogin\JSRoutingProvider\Provider\SilexJSRoutingServiceProvider(), array(
"jsrouting.base_url" => "/",
"jsrouting.exposed_routes" => array("routeA", "routeB")
));
Set the route option expose to true.
``` {.php}
$controllers->get("/hello", function() {
return "hello world"!
})->bind("hello")->getRoute()->setOption("expose",true);, (*4)
Include and use it in your frontend like this.
``` {.html}
Console
If you want to use the console commands please install at least saxulum/saxulum-console.
It will be automatically activated after you registered the provider., (*5)
Available Commands
-
jsrouting:dump: This dumps the router with the known routes (buggy, ATM);
-
jsrouting:dump:router.js: This only dumps the router.js. You need to add the routes manually.
Run the tests
Go to the base directory of the jsrouting-provider. Do a composer install
and enter vendor/bin/phpunit
., (*6)
Run the javascript tests
Do a npm install
and enter node_modules/.bin/gulp test
. Or if you have installed gulp globally enter gulp test
., (*7)
Contribution
Pull request are welcome. Or if you can't or want code you can also contribute by opening a ticket if you see something is wrong., (*8)
Warning
This project is in early development stages. No warranty if it kills your kittens or starts a nuclear war ;), (*9)