2017 © Pedro Peláez
 

library laravel-helpers

Dynamic Method Helpers

image

mercuryseries/laravel-helpers

Dynamic Method Helpers

  • Saturday, October 21, 2017
  • by mercuryseries
  • Repository
  • 6 Watchers
  • 16 Stars
  • 410 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 4 Forks
  • 0 Open issues
  • 5 Versions
  • 10 % Grown

The README.md

Dynamic Method Helpers

Before using Laravel I was a big fan of Ruby on Rails and the feature that I loved the most about Ruby on Rails was the ability to create a helper method (in a module) and being able to call it like a global method., (*1)

Module BooksHelper
  def format_price(book)
    if book.free?
      content_tag(:strong, 'Free!')
    else
      number_to_currency(book.price)
    end
   end
end
<p><%= format_price(book) %></p>

Pretty cool isn't it?, (*2)

Now as you might guess I want to have the same thing in Laravel., (*3)

Oh I should have said I have the same thing now with Laravel :), (*4)

Disclaimer: Of course you can create a folder with many files helpers or just one global file helper and autoload it with Composer but I rather prefer to create a class and it's much more clear when testing. So everyone may not like it!, (*5)

Here are the steps if you also want it:, (*6)

Install the package through Composer

composer require mercuryseries/laravel-helpers

Register the package service provider in config/app.php by adding:

MercurySeries\Helpers\HelpersServiceProvider::class,

Create a Helpers directory in your app folder.

Now you can create a Helpers directory in your app folder., (*7)

Add some classes with your helper methods

PS: All helper methods need to be static., (*8)

<?php

// File: app/Helpers/BooksHelper.php

namespace App\Helpers;

use App\Book;

class BooksHelper
{
    public static function formatPrice(Book $book)
    {
        if($book->isFree()) {
            return '<strong>Free!</strong>';
        } else {
            return sprintf('$%f', number_format($book->price, 2, '.', ''));
        }
    }
}
<?php

// File: app/Helpers/PagesHelper.php

namespace App\Helpers;

class PagesHelper
{
    public static function setActive($route)
    {
        // your code goes here
    }
}

Have fun now as me by using your helper methods

{{ $formatPrice($book) }}
{{ $setActive('home') }}

You can also call it with:, (*9)

{{ App\Helpers\BooksHelper::formatPrice($book) }}

Don't forget to change App accordingly to your application's root namespace. But that is exactly what I want to avoid (that long stuff)., (*10)

More Configuration?

The Helpers folder name and the namespace App\Helpers can be easily changed via the configuration file. Just publish it and edit it as you want:, (*11)

php artisan vendor:publish --provider="MercurySeries\Helpers\HelpersServiceProvider"

Cheers!, (*12)

The Versions

21/10 2017

dev-master

9999999-dev

Dynamic Method Helpers

  Sources   Download

MIT

The Requires

 

by Honore Hounwanou

laravel helpers methods

21/10 2017

1.0.3

1.0.3.0

Dynamic Method Helpers

  Sources   Download

MIT

The Requires

 

by Honore Hounwanou

laravel helpers methods

14/12 2016

1.0.2

1.0.2.0

Dynamic Method Helpers

  Sources   Download

MIT

The Requires

 

by Honore Hounwanou

laravel helpers methods

07/11 2016

1.0.1

1.0.1.0

Dynamic Method Helpers

  Sources   Download

MIT

The Requires

 

by Honore Hounwanou

laravel helpers methods

07/11 2016

1.0.0

1.0.0.0

Dynamic Method Helpers

  Sources   Download

MIT

The Requires

 

by Honore Hounwanou

laravel helpers methods