dam1r89 / laravel-proto-generator by dam1r89

Laravel 5 prototyping tool. Creates files based on the templates. It comes with template for views, model, migration and controllers.
Package Data
Maintainer Username: dam1r89
Maintainer Contact: ivanmijatovic89@gmail.com (Ivan Mijatovic)
Package Create Date: 2014-09-03
Package Last Update: 2017-07-20
Home Page:
Language: PHP
License: Unknown
Last Refreshed: 2021-07-20 03:06:47
Package Statistics
Total Downloads: 241
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 6
Total Watchers: 7
Total Forks: 2
Total Open Issues: 1


composer require "dam1r89/proto-generator" --dev 

Add to config/app.php under the providers key, but before application providers.


If you want to edit templates you can publish them.

php artisan vendor:publish --tag="proto-generator"


To scaffold resource with name post you type:

php artisan proto post --fields='{"name":{}, "body":{}, "rating": {"type": "number"}}'

fields flag is json data which is transferred to the templates.

and add bindings to the routes.php file:

Route::resource('post', 'PostsController');

then go to local serving address, for example on http://localhost:8000/posts and you can see simple crud application.

For hasOne relation use field name and id: "category_id": {"label": "name"}.


-r replace files withouth asking
-t template folder - default standard
-f fields
-d additional context data
-o output folder - default base

Using from app

use dam1r89\ProtoGenerator\ContextDataParser;
use dam1r89\ProtoGenerator\Proto;

$parser = new ContextDataParser('users', ['first_name', 'last_name']);
$context = $parser->getContextData();

$context['additional_data'] = 'whatever';

$p = Proto::create('source/path/', base_path(), $context);