Download the PHP package exfriend/laravel-recipe without Composer
On this page you can find all versions of the php package exfriend/laravel-recipe. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download exfriend/laravel-recipe
More information about exfriend/laravel-recipe
Files in exfriend/laravel-recipe
Package laravel-recipe
Short Description Generator framework for Laravel.
License MIT
Informations about the package laravel-recipe
Laravel Recipe
Generator framework for Laravel built on Laravel.
Installation
On Laravel 5.5:
Basic Usage
In order to generate any entity you basically need two things: a template and the actual data.
Recipe uses Laravel's Blade as a template engine for stubs, so the basic usage is very similar to how you return views from controllers.
Let's write our first recipe that would generate any class.
- Create a new view inside
resources/views/recipe
folder:
resources/views/recipe/class.blade.php
Then anywhere in your code you can run:
Get the compiled code:
Save to file:
Now let's create a dedicated class for this recipe to make it easier.
app/Recipes/ClassRecipe.php
Here you can notice that we're hardcoding the template name and defining a new $props
variable which is somewhat similar to what Vue uses in it's components.
Two important things happen here:
First, we added some validation telling Recipe that class
property is mandatory in this recipe. You can set the rules property just like you normally would in your Laravel application - that's the same thing.
Second, we're setting default values for content
and import
. Those defaults will be applied if the user does not provide anything as the input.
So, our resulting usage will now look like this:
An important note:
Because of props, the actual data passed to a template will be slightly different from what we passed in. For example, it will have content
and imports
.
Sometimes you would like to just get the transformed data withour compiling the whole template (e.g. for nested recipes, see below).
To only get the compiled data, run:
Since we are generating a model here and model is something we'd like to generate often, it makes sense to create a dedicated Model recipe based on a general class recipe we already have. Let's make a simple Model recipe:
app/Recipes/ModelRecipe.php
Advanced Usage
Coming soon.