morrislaptop/laravel-five-package-bridges

Use your Laravel 4 packages in Laravel 5

1.0.3 2015-03-02 21:50 UTC

This package is auto-updated.

Last update: 2020-10-25 19:32:11 UTC


README

Build Status

This Laravel package provides a bridging trait and multiple bridges that allows Laravel 4 packages to be used in Laravel 5.

Current packages that are bridged are:

If you want to build a bridge, please follow the contributing guide.

Installation

Begin by installing this package through Composer.

composer require morrislaptop/laravel-five-package-bridges

Once this operation completes, add the config service provider, this brings the package() method back to the config repository. Open app/config/app.php and add..

'Morrislaptop\LaravelFivePackageBridges\ConfigServiceProvider',

Then we need to swap the core Application class with the bridging, this adds various methods like after() back. Open bootstrap/app.php and replace..

$app = new Illuminate\Foundation\Application(
    realpath(__DIR__.'/../')
);

with

$app = new Morrislaptop\LaravelFivePackageBridges\Application(
    realpath(__DIR__.'/../')
);

The final step is to add the bridged service providers instead of the raw service providers.

Open app/config/app.php, and add lines as appropriate.

'Morrislaptop\LaravelFivePackageBridges\Bridges\FlashServiceProvider',

'Morrislaptop\LaravelFivePackageBridges\Bridges\GeneratorsServiceProvider',
'Morrislaptop\LaravelFivePackageBridges\Bridges\ImageServiceProvider',
'Morrislaptop\LaravelFivePackageBridges\Bridges\ExcelServiceProvider',
'Morrislaptop\LaravelFivePackageBridges\Bridges\ClockworkServiceProvider',
'Morrislaptop\LaravelFivePackageBridges\Bridges\SentryServiceProvider',

Voila! Those packages now work as they always did in Laravel 4.

Custom Packages

If you have a private package you can simply create your own bridging service provider and bring in the trait from this package.

<?php namespace App\Bridges;



use Morrislaptop\LaravelFivePackageBridges\LaravelFivePackageBridgeTrait;

use Acme\Private\NuclearServiceProvider as BaseNuclearServiceProvider;



class NuclearServiceProvider extends BaseNuclearServiceProvider 
{


	use LaravelFivePackageBridgeTrait;


}

Contributing

Please see the contributing guide.