unisharp/laravel-datacarrier

Handle data and let it live in global scope

1.0.4 2016-06-29 12:54 UTC

This package is auto-updated.

Last update: 2020-10-15 06:02:41 UTC


README

Build Status Version License Total Downloads

Introduction

Provide an object as Facade to put all global variables togetther, clean your code. Normally we use it to passing variables from Controller to View.

And you can extend your formating method to help you format global data

Install Data Carrier

composer.json:

"require" : {
    "unisharp/laravel-datacarrier" : "~1.0"
}, 
"repositories": {
    "type": "git",
    "url": "https://github.com/UniSharp/laravel-datacarrier.git
}

save it and then

composer update    

Set ServiceProvider and Set Facade

in config/app.php:

  • ServiceProfider

      Unisharp\DataCarrier\DataCarrierServiceProvider::class,
    
  • alias

      'DataCarrier' => Unisharp\DataCarrier\DataCarrierFacade::class,
    

Usage

  • get and set global data

    you can use Facade to set and get items

      \DataCarrier::set('key', 1); // ['a' => 1]
    
      \DataCarrier::get('key'); // 1
    
      // you can set a default value for get method
    
      \DataCarrier::get('key', 0); // if you cannot get it, it will return 0
    
      $var = d('key', 0); // Quick access by d() helper.
      
      \DataCarrier::all(); // it will get an array with all items
    

    you can also use dot to seperate array

      # [ 
      #    'a' => [
      #        'b' => 'value'
      #    ]
      # ]
      
      \DataCarrier::get('a.b'); // 'value'
    
  • customize your format method (Add method into Data Carrier)

      \DataCarrier::extend('format', function ($data) {
          return number_format($data);
      })
    
  • format your data

      # ['num' => '100000']
      \DataCarrier::format('num') // 100,000
    

Helper can use helper to set, get your data

  • get, set function

      carrier_set('num', 1); // ['a' => 1]
      carrier_get('num'); // 1
    
  • use carrier() to muniplate container

      carrier() // it's just return App::make('DataCarrier')
    

Another way to work with DataCarier

  • get, set can replace by it

       carrier('num')->get();
       carrier('num')->set(5);
    
  • extend your formating method

      carrier()->extend('format', function ($data) {
          return number_format($data);
      })
    
  • use your formatting method

      carrier('num')->format(); // it will return formating result