unisharp/laravel-datacarrier

处理数据并使其在全局范围内存活

1.0.4 2016-06-29 12:54 UTC

This package is auto-updated.

Last update: 2024-09-15 14:20:29 UTC


README

Build Status Version License Total Downloads

简介

提供一个对象作为外观,将所有全局变量放在一起,清理你的代码。通常我们用它来从控制器传递变量到视图。

并且你可以扩展你的格式化方法来帮助你格式化全局数据

安装数据传输器

composer.json

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

保存它,然后

composer update    

设置ServiceProvider和设置外观

在config/app.php中

  • ServiceProfider

      Unisharp\DataCarrier\DataCarrierServiceProvider::class,
    
  • 别名

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

用法

  • 获取和设置全局数据

    你可以使用外观来设置和获取项目

      \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
    

    你也可以使用点来分隔数组

      # [ 
      #    'a' => [
      #        'b' => 'value'
      #    ]
      # ]
      
      \DataCarrier::get('a.b'); // 'value'
    
  • 自定义你的格式化方法(在数据传输器中添加方法)

      \DataCarrier::extend('format', function ($data) {
          return number_format($data);
      })
    
  • 格式化你的数据

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

助手可以使用助手来设置、获取你的数据

  • 获取、设置函数

      carrier_set('num', 1); // ['a' => 1]
      carrier_get('num'); // 1
    
  • 使用carrier()来管理容器

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

另一种与数据传输器合作的方式

  • 获取、设置可以替换为它

       carrier('num')->get();
       carrier('num')->set(5);
    
  • 扩展你的格式化方法

      carrier()->extend('format', function ($data) {
          return number_format($data);
      })
    
  • 使用你的格式化方法

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