2017 © Pedro Peláez
 

library laravel-route-controller

Define Router::controller() without breaking everything

image

grummfy/laravel-route-controller

Define Router::controller() without breaking everything

  • Tuesday, February 6, 2018
  • by Grummfy
  • Repository
  • 1 Watchers
  • 2 Stars
  • 33 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 2 Versions
  • 120 % Grown

The README.md

Laravel route controller

This library like other existing, give a way to deal with Router::controller. The key features: * allow caching of route * doesn't require extra manipulation * allow inheritance of route group * namespace independent, (*1)

Compatible with laravel 5.5. (probably compatible with older version too)., (*2)

Install

Install the dependencies, (*3)

composer require grummfy/laravel-route-controller

Publish the configuration, (*4)

php artisan vendor:publish --tag=config --provider=Grummfy\LaravelRouteController\RouteControllerProvider

Usage

Once the package is install and autodiscover (or you have added the provider manually), the package is ready to use., (*5)

In your route file, just do this:, (*6)

Route::controller('/foo', \App\Http\Controllers\FooController::class);

It will take all the public method from the class (including traits) and convert it to route., (*7)

There is a third argument that you can use to add extra option, like a middleware or anything else., (*8)

Route::controller('/foo', \App\Http\Controllers\FooController::class, ['middleware' => 'can:baz']);

You got also an extra option, to don't allow heritance of methods from parent:, (*9)

Route::controller('/foo', \App\Http\Controllers\FooController::class, ['middleware' => 'can:baz', 'heritage' => false]);

Example

Imagine that we have the class FooController (see example), in this case we will have a series of method that will be converted to routes: * index() -> /foo, foo.index * getStatus(string $status) -> /foo/status/{status}, foo.status.post * postStatus(string $status) -> /foo/status/{status}, foo.status.get * foo() -> /foo/foo, foo.foo * my() -> /foo/my, foo.my, (*10)

TODO

  • unit test
  • QA tools
    • travis
    • styleci
    • scrutinizer
    • ...

Alternative

  • https://github.com/lesichkovm/laravel-advanced-route
  • https://github.com/themsaid/laravel-routes-publisher
  • https://github.com/shrimpwagon/laravel-route-controller
  • https://www.larablocks.com/package/eightyfive/laravel-autoroute
  • https://gist.github.com/cotcotquedec/df15f9111e5c8d118ac270f6a157c460
  • ...

The Versions

06/02 2018

dev-master

9999999-dev

Define Router::controller() without breaking everything

  Sources   Download

MIT

The Requires

 

by Avatar Grummfy

laravel route controller

06/02 2018

1.0.0

1.0.0.0

Define Router::controller() without breaking everything

  Sources   Download

MIT

The Requires

 

by Avatar Grummfy

laravel route controller