Skip to content

Create routes from objects, instead of parameters.

Notifications You must be signed in to change notification settings

M4nu/ObjectRouteBundle

Repository files navigation

M4nuObjectRouteBundle

This Symfony2 bundle allows to create routes from an object instead of parameters.

Build Status

#How to install ?

##Add theses lines into your deps

[M4nuObjectRouteBundle]
    git=git://github.com/M4nu/M4nuObjectRouteBundle.git
    target=/bundles/M4nu/ObjectRouteBundle

##Add autoloading

#app/autoload.php
$loader->registerNamespaces(array(
    #...
    'M4nu' => __DIR__.'/../vendor/bundles',
));

##Register this bundle

#app/AppKernel.php
$bundles = array(
    #...
    new M4nu\ObjectRouteBundle\M4nuObjectRouteBundle(),
);

##Install the deps

php bin/vendors install

#Examples

Let's say we have a Category and a Message object :

$category = new Category();
$category->setSlug('my-category');

$message = new Message();
$message->setSlug('my-message');
$message->setCategory($category);

And the corresponding route :

message_show:
    pattern:   /message/{category.slug}/{slug}

Create the corresponding route

$router->generate('message_show', $message);
{{ path('message_show', message) }}

Will output: /message/my-category/my-message

Override parameters

$router->generate('message_show', array('_object' => $message, 'slug' => 'my-custom-slug'));
{{ path('message_show', {'_object': message, 'slug': 'my-custom-slug'}) }}

Will output: /message/my-category/my-custom-slug

About

Create routes from objects, instead of parameters.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages