fire015 / json-routes by fire015

Define your routes in laravel using JSON files
17
3
2
Package Data
Maintainer Username: fire015
Maintainer Contact: emailfire@gmail.com (Jason M)
Package Create Date: 2014-12-19
Package Last Update: 2014-12-29
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-11-14 15:16:53
Package Statistics
Total Downloads: 17
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 3
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

json-routes

Total Downloads Build Status

Define your routes in Laravel using JSON files.

Installation

PHP 5.4+, Laravel 4.2+, and Composer are required.

To get the latest version of JSON Routes, simply add the following line to the require block of your composer.json file:

"fire015/json-routes": "~1.0"

You'll then need to run composer install or composer update to download it and have the autoloader updated.

Once JSON Routes is installed, you need to register the service provider. Open up app/config/app.php and add the following to the providers key.

'Fire015\JsonRoutes\JsonRoutesServiceProvider'

Configuration

To get started, first publish the package config file:

$ php artisan config:publish fire015/json-routes

This will create a config file which allows you to define the path to the JSON files (by default this is a folder within app/config called routes).

Usage

Presuming we have created the app/config/routes folder as specified above, create a file in that folder called routes.json where we can define our routes. Here is an example of that file:

{
	"GET": {
		"/": {
			"uses": "HomeController@showIndex"
		},
		"about": {
			"uses": "AboutController@showIndex"
		}
	},
	"POST": {
		"user/{id}": {
			"uses": "UserController@storeUser"
		}
	}
}

You simply define the route URI as the key under each method and the usual route options as if it were an array in the Route::(get|post|put|patch|delete|options) static methods.

You can also split your routes up into sub-files and folders. For example you can define user/account in any of the following places:

  • /user.json
  • /user/routes.json
  • /user/account.json
  • /user/account/routes.json