bsharp / larinterface
Easy Interface generation for your Laravel project
Requires
- php: >=5.4.0
- illuminate/support: 5.1.*
Requires (Dev)
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-11-09 18:54:00 UTC
README
Larinterface help you to be more productive by generating automaticaly all the interface in your Laravel project by using PHP and black magic.
Composer
To install Larinterface using composer, run this command:
composer require bsharp/larinterface
Setup
After running composer update, open your Laravel config file located at config/app.php and add the following in the $providers array.
Bsharp\Larinterface\LarinterfaceServiceProvider::class
Publish
To add larinterface config file to your app, use the vendor:publish
artisan command
php artisan vendor:publish
Configuration
Open the generated config/larinterface.php
file and change the configuration to fits your needs.
Execution
Now Larinterface should work using the command:
php artisan larinterface:generate
File watcher
Executing php artisan larinterface:generate
each time after modifying one of your PHP Class is annoying so here is some ways to automate this behavior.
Using Laravel Elixir
You can create a gulp watcher, using elixir 3, to do that for you. Add this lines to your gulpfile:
#####If you generate the interfaces in the same directory than your classes:
var gulp = require('gulp'); var exec = require('gulp-exec'); var Task = elixir.Task; var files = require('./storage/app/larinterface.json'); var locked = false; elixir.extend('larinterface', function() { new Task('larinterface_generate', function () { if(locked === true) { return; } locked = true; var task = gulp.src('').pipe(exec('php artisan larinterface:generate')); task.on('end', function () { setTimeout(function () { locked = false; files = require('./storage/app/larinterface.json'); }, 1000); }); return task.pipe(exec.reporter({})); }) .watch(files); });
#####If you generate the interface in a separate directory:
var gulp = require('gulp'); var exec = require('gulp-exec'); var Task = elixir.Task; var files = require('./storage/app/larinterface.json'); elixir.extend('larinterface', function() { new Task('larinterface_generate', function () { files = require('./storage/app/larinterface.json'); return gulp.src('').pipe(exec('php artisan larinterface:generate')).pipe(exec.reporter({})); }) .watch(files); });
You can now use mix.larinterface();
to execute Larinterface in Elixir !
Using PHPStorm or other JetBrain IDE:
First go to your settings and open Files Watchers
Then create a new Larinterface
watcher and configure it as follow:
Contributing
Feel free to contribute to Larinterface by sending a pull request ! You can always ask anything (related to Larinterface of course) using a GitHub issue.
License
Larinterface is open-sourced software licensed under the MIT license