2017 © Pedro Peláez
 

laravel-plugin laravel-package-router

image

lassehaslev/laravel-package-router

  • Monday, December 12, 2016
  • by LasseHaslev
  • Repository
  • 1 Watchers
  • 0 Stars
  • 72 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

lassehaslev/laravel-package-router

Your package routes made REALLY simple!, (*1)

Install

Run composer require lassehaslev/laravel-package-router, (*2)

Usage

This is a global/universal object to handle your routes., (*3)

Even tough this package is made to handle routes in packages, it is no trouble using it wherever you want., (*4)

Register your routes

Add your routes in ServiceProvider@register, (*5)

// It is recommended that you extend the class
class MyRouter extends LasseHaslev\LaravelPackageRouter\PackageRouter {}

// Create new router
$router = MyRouter::create();

// Add route to router
$router->add( 'users.index', [
    'uri'=>'users',
    'as'=>'users.index',
    'uses'=>'Controller@index',
] )
// You can also chain add
->app( 'users.update', [
    'uri'=>'users/{user}',
    'method'=>'put',
    'uses'=>'Controller@index',
] );

->add( 'images.index', [
    'uri'=>'images',
    'uses'=>'Controller@index',
] )
->add( 'images.store', [
    'uri'=>'images',
    'method'=>'post',
    'uses'=>'Controller@store',
] )

Register routes

Note that you can get the reference of the router only by calling MyRouter::get() even though you created it another place. This is because it extends LasseHaslev\UniversalObjects\Object., (*6)

// Usually in your routes/web.php
$myRouter = MyRouter::get();

$myRouter->route( 'images.index' ); // "/images"
Route::group([ 'prefix'=>'backend', 'middleware'=>'auth' ], function( $router ) use ( $myRouter ) {
    $myRouter->routes( 'users' ); // "/backend/users" and "/backend/users/{user}"
    $myRouter->route( 'images.store' ); // "/backend/images"
});

Api

// Get the router
$router = MyRouter::create(); // MyRouter::get();

// Add route
$router->add( $reference, [
    'uri'=>'users',
    'method'=>'get',
    'as'=>'users.index',
    'uses'=>'Controller@index',
    // 'middleware'=>'auth', // You can add middleware if you want to
] );

// Get all routes
$router->routes(); // Set routes for users.index, images.index and images.show

// Get all routes under images namespace
$router->routes( 'images' ); // Set routes for images.index and images.show

// Get single route
$router->route( 'images.index' );

Development

``` bash, (*7)

Install dependencies

composer install, (*8)

Install dependencies for automatic tests

yarn, (*9)

Run one time

npm run test, (*10)

Automaticly run test on changes

npm run dev ```, (*11)

The Versions

12/12 2016

dev-master

9999999-dev

  Sources   Download

The Requires

 

The Development Requires

by Lasse S. Haslev

12/12 2016

0.1.2

0.1.2.0

  Sources   Download

The Requires

 

The Development Requires

by Lasse S. Haslev

10/12 2016

0.1.0

0.1.0.0

  Sources   Download

The Requires

 

The Development Requires

by Lasse S. Haslev