An open API service indexing awesome lists of open source software.

https://github.com/laragen/laragen

A Generator for Laravel 5
https://github.com/laragen/laragen

artisan-command code-generator-laravel eloquent-models laravel54 model-generator

Last synced: 9 months ago
JSON representation

A Generator for Laravel 5

Awesome Lists containing this project

README

          

# Laragen
#### A powerful yet lightweight generator for Laravel 5.4 and php7

### Installation
1. Install via composer.

```bash
composer require laragen/laragen --dev
```

1. Add `LaragenServiceProvider` to `app/Providers/AppServiceProvider.php`.

```php
if ($this->app->environment('local')) {
$this->app->register(\Laragen\Laragen\LaragenServiceProvider::class);
}
```

1. Publish config files.

```bash
php artisan vendor:publish --tag=laragen.config
```

### Quick Look
```bash
php artisan laragen:model User
php artisan laragen:model --all

php artisan laragen:api User
php artisan laragen:api User --model --actions=index,view

php artisan laragen:channel Sms
php artisan laragen:channel Sms --message=mobile,content
php artisan laragen:message Sms
php artisan laragen:message Sms --attributes=mobie,content
```

### Config

```php
return [
'model' => [
'path' => 'Models', // path after `app/`
'soft_delete' => true, //add deleted_at for $dates
'traits' => [], // traits for model
'parent_class' => 'Illuminate\Database\Eloquent\Model',
'ignore_admin_tables' => true, //ignore admin tables generated by laravel-admin plugin
'ignore_tables' => ['jobs', 'migrations', 'notifications'], //ignore system tables
'morph_many' => [ //see https://laravel.com/docs/5.4/eloquent-relationships# polymorphic-relations
'Comment' => ['News', 'Post'],
'Like' => ['News', 'Post'],
],

],
'api' => [
'path' => 'Api', // path after `app/Controllers/`
'version' => 1, // real path is `app/Controllers/{path}/V{version}`
'parent_class' => 'App\Http\Controllers\Controller',
],
];
```

### Sample Output

1. Generate Eloquent Model Class.
```php
belongsTo(User::class);
}


/**
* Get commentable model
* @return MorphTo
*/
public function commentable(): MorphTo
{
return $this->morphTo();
}

}
```

## Any issue or pull request is appreciated :)