Nasrul Hazim Bin Mohamad

Laravel: Blueprint Macro


Next, the thing that I want to share is how I create Blueprint Macro. Similar to my previous posts on Response and Route.

But this time, we going to add more functionality to Blueprint which used in migrations.

Update your user migration file:

Now your code will be much cleaner.

Feel free to fork and contribute to Blueprint Macro.

Laravel: Route Macro


Here I want to show, how to extend existing route – get, post, etc. for your application.

I’m going to create a new route Route::setting('module'), which will create all necessary route setup.

Now register this new macro in your AppServiceProvider, in register() method.

Then, you can start use the new route.

To use this new route, you need a controller.

So run php artisan make:controller Settings/ApplicationSettingController -r

Then you may add in routes/web.php to register a new route setting.

In this case, you just need to add Route::setting('application').

Then run php artisan route:list. You should get something like the following:

Laravel: Response Macro


It’s quite straightforward to extend a class functionality with Macro. This time I show how to extend the Response class in Laravel.

Create a class in app/Macros/Http called Response.php and add the content as following:

Then register the Macro in AppServiceProvider

Now you may test your new responses: