2017 © Pedro Peláez
 

library laravel-change-way

change the dispatched controller by header

image

dezsidog/laravel-change-way

change the dispatched controller by header

  • Tuesday, May 22, 2018
  • by zedisdog
  • Repository
  • 1 Watchers
  • 5 Stars
  • 8 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

laravel-change-way

License Build Status, (*1)

change the dispatched controller by header., (*2)

bad english, (*3)

will be tested soon., (*4)

feature

Rewrite Laravel controller dispatcher, so as to change action according to the version field in header., (*5)

install

composer require dezsidog/laravel-change-way

modify the base class in app/Http/Kernel.php from Illuminate\Foundation\Http\Kernel to Dezsidog\Http\Kernel, (*6)

usage

write route entity, (*7)

Route::get('test', "V1Controller@test");

Route::group(['version' => 'v2'], function(){
    Route::get('test', "V2Controller@test");
    Route::get('test2', "V2Controller@test2");
    Route::get('test3', "V1Controller@test");
});

create controller App\Http\Controllers\V1Controller., (*8)

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class V1Controller extends Controller
{
    public function test()
    {
        return 'v1';
    }
}

create controller App\Http\Controllers\V2Controller., (*9)

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class V2Controller extends Controller
{
    public function test()
    {
        return 'v2';
    }

    public function test2()
    {
        return 'v2';
    }
}

this package will according to the version field in header to determine use which test method., (*10)

public function testVersion()
    {
        $response = $this->getJson('api/test');

        $this->assertEquals('v1', $response->content());

        $response = $this->getJson('api/test',['version' => 'v2']);
        $this->assertEquals('v2', $response->content());

        $response = $this->getJson('api/test2', ['version' => 'v2']);
        $this->assertEquals('v2', $response->content());

        $response = $this->getJson('api/test2');
        $response->assertStatus(404);

        $response = $this->getJson('api/test3',['version' => 'v2']);
        $this->assertEquals('v1', $response->content());
    }

The Versions

22/05 2018

dev-develop

dev-develop

change the dispatched controller by header

  Sources   Download

WTFPL

The Requires

 

The Development Requires

by Avatar zed

22/05 2018

dev-master

9999999-dev

change the dispatched controller by header

  Sources   Download

WTFPL

The Requires

 

The Development Requires

by Avatar zed

22/05 2018

0.5.3

0.5.3.0

change the dispatched controller by header

  Sources   Download

WTFPL

The Requires

 

The Development Requires

by Avatar zed

29/04 2018

0.5.2

0.5.2.0

change the dispatched controller by header

  Sources   Download

WTFPL

The Requires

 

The Development Requires

by Avatar zed

19/04 2018

0.5.1

0.5.1.0

change the dispatched controller by header

  Sources   Download

WTFPL

The Requires

 

The Development Requires

by Avatar zed

19/04 2018

0.5.0

0.5.0.0

change the dispatched controller by header

  Sources   Download

WTFPL

The Requires

 

The Development Requires

by Avatar zed