laravel-fractal, 面向 Laravel的分形服务提供

分享于 

3分钟阅读

GitHub

  繁體 雙語
A Laravel Service Provider for Fractal
  • 源代码名称:laravel-fractal
  • 源代码网址:http://www.github.com/gathercontent/laravel-fractal
  • laravel-fractal源代码文档
  • laravel-fractal源代码下载
  • Git URL:
    git://www.github.com/gathercontent/laravel-fractal.git
    Git Clone代码到本地:
    git clone http://www.github.com/gathercontent/laravel-fractal
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/gathercontent/laravel-fractal
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    Laravel 分形

    联盟/分形的Laravel 服务提供商。

    安装

    在 composer.json file: 中增加laravel分形

    "require": {
     "gathercontent/laravel-fractal": "~1.0"}

    让composer安装软件包:

    
    $ composer require gathercontent/laravel-fractal
    
    
    
    

    注册软件包

    register 在 app/config/app.php 中找到的providers array 中的服务提供程序:

    'providers'=>array(//.. .GatherContentLaravelFractalLaravelFractalServiceProvider::class)

    app/config/app.php 中找到的aliases array 中添加别名:

    'aliases'=>array(//.. .'Fractal'=>GatherContentLaravelFractalLaravelFractalFacade::class,)

    配置

    若要覆盖默认配置,可以将配置文件发布到应用程序。 工匠可以通过 命令行 自动为你完成这里操作:

    $ php artisan vendor:publish

    用法

    基本示例

    设置单个项的格式:

    // routes.phpRoute::get('/me', array('before'=>'auth', function () {returnFractal::item(Auth::user(), newUserTransformer);}));

    设置集合的格式:

    // routes.phpRoute::get('/comments', function () {returnFractal::collection(Comment::all(), newCommentTransformer);});

    添加元数据:

    // routes.phpRoute::get('/comments', function () {returnFractal::collection(Comment::all(), newCommentTransformer, function ($resources) {$resources->setMetaValue('foo', 'bar'); });});

    返回分页的集合:

    // routes.phpRoute::get('/comments', function () {returnFractal::collection(Comment::paginate(), newCommentTransformer);});

    使用自定义分页适配器:

    // routes.phpRoute::get('/comments', function () {$comments=Comment::paginate();$adapter=newMyIlluminatePaginationAdapter($comments);returnFractal::collection($comments, newCommentTransformer, null, $adapter);});

    相关文章