morrislaptop / LaravelFivePackageBridges by morrislaptop

Use your Laravel 4 packages in Laravel 5
17,777
34
5
Package Data
Maintainer Username: morrislaptop
Maintainer Contact: craig.michael.morris@gmail.com (Craig Morris)
Package Create Date: 2015-01-19
Package Last Update: 2016-01-13
Home Page: https://packagist.org/packages/morrislaptop/laravel-five-package-bridges
Language: PHP
License: MIT
Last Refreshed: 2024-11-22 15:03:23
Package Statistics
Total Downloads: 17,777
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 34
Total Watchers: 5
Total Forks: 9
Total Open Issues: 0

Laravel Five Package Bridges

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.