We’re currently building out an API at Basanty, and I was looking for a way to generate a simple Excel/CSV file. Using the `artisan routes` command, you can print out a nice table in the console, or even save it by appending `> routes.txt`. The problem is the Symfony table formatter doesn’t translate well to a document.
So I created a simple route that loops through the routes, and saves them to a csv file. This could quite easily be abstracted to a custom artisan command. Also, after generating the file, you should probably remove it immediately.
/**
* Generate a CSV of all the routes
*/
Route::get('r', function()
{
header('Content-Type: application/excel');
header('Content-Disposition: attachment; filename="routes.csv"');
$routes = Route::getRoutes();
$fp = fopen('php://output', 'w');
fputcsv($fp, ['METHOD', 'URI', 'NAME', 'ACTION']);
foreach ($routes as $route) {
fputcsv($fp, [head($route->methods()) , $route->uri(), $route->getName(), $route->getActionName()]);
}
fclose($fp);
});