From 38a97a1ecad3c1395bfdf29a3d5be60775549cb4 Mon Sep 17 00:00:00 2001 From: Antoine Bellion Date: Tue, 7 Nov 2017 22:51:46 +0100 Subject: [PATCH 1/4] Autowire migrations --- src/Illuminate/Database/Migrations/Migrator.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/Illuminate/Database/Migrations/Migrator.php b/src/Illuminate/Database/Migrations/Migrator.php index 535bb316facd..6a3aba9ddaa1 100755 --- a/src/Illuminate/Database/Migrations/Migrator.php +++ b/src/Illuminate/Database/Migrations/Migrator.php @@ -5,11 +5,19 @@ use Illuminate\Support\Arr; use Illuminate\Support\Str; use Illuminate\Support\Collection; +use Illuminate\Container\Container; use Illuminate\Filesystem\Filesystem; use Illuminate\Database\ConnectionResolverInterface as Resolver; class Migrator { + /** + * The IoC container instance. + * + * @var \Illuminate\Container\Container + */ + protected $container; + /** * The migration repository implementation. * @@ -60,12 +68,11 @@ class Migrator * @param \Illuminate\Filesystem\Filesystem $files * @return void */ - public function __construct(MigrationRepositoryInterface $repository, - Resolver $resolver, - Filesystem $files) + public function __construct(MigrationRepositoryInterface $repository, Resolver $resolver, Filesystem $files, Container $container) { $this->files = $files; $this->resolver = $resolver; + $this->container = $container; $this->repository = $repository; } @@ -414,7 +421,7 @@ public function resolve($file) { $class = Str::studly(implode('_', array_slice(explode('_', $file), 4))); - return new $class; + return $this->container->make($class); } /** From c15f2dadff0175e1e2178c1f219db4bc4f748cf5 Mon Sep 17 00:00:00 2001 From: Graham Campbell Date: Tue, 7 Nov 2017 23:52:23 +0000 Subject: [PATCH 2/4] Fixed phpdoc and params --- src/Illuminate/Database/Migrations/Migrator.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Illuminate/Database/Migrations/Migrator.php b/src/Illuminate/Database/Migrations/Migrator.php index 6a3aba9ddaa1..84827a7c8442 100755 --- a/src/Illuminate/Database/Migrations/Migrator.php +++ b/src/Illuminate/Database/Migrations/Migrator.php @@ -66,10 +66,15 @@ class Migrator * @param \Illuminate\Database\Migrations\MigrationRepositoryInterface $repository * @param \Illuminate\Database\ConnectionResolverInterface $resolver * @param \Illuminate\Filesystem\Filesystem $files + * @param \Illuminate\Container\Container $container * @return void */ - public function __construct(MigrationRepositoryInterface $repository, Resolver $resolver, Filesystem $files, Container $container) - { + public function __construct( + MigrationRepositoryInterface $repository, + Resolver $resolver, + Filesystem $files, + Container $container + ) { $this->files = $files; $this->resolver = $resolver; $this->container = $container; From 25a0f00e12328d9b740f4fce2e8feb65f4044a54 Mon Sep 17 00:00:00 2001 From: Antoine Bellion Date: Wed, 8 Nov 2017 10:50:00 +0100 Subject: [PATCH 3/4] Fix tests --- tests/Database/DatabaseMigratorIntegrationTest.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/Database/DatabaseMigratorIntegrationTest.php b/tests/Database/DatabaseMigratorIntegrationTest.php index 5f48d9e5f247..04df00c1304e 100644 --- a/tests/Database/DatabaseMigratorIntegrationTest.php +++ b/tests/Database/DatabaseMigratorIntegrationTest.php @@ -36,7 +36,8 @@ public function setUp() $this->migrator = new Migrator( $repository = new DatabaseMigrationRepository($db->getDatabaseManager(), 'migrations'), $db->getDatabaseManager(), - new Filesystem + new Filesystem, + $container ); if (! $repository->repositoryExists()) { From d6a18789f6fbc9d8f8ffc47e85252a6f4e73cc72 Mon Sep 17 00:00:00 2001 From: Antoine Bellion Date: Wed, 8 Nov 2017 10:53:31 +0100 Subject: [PATCH 4/4] Use container's contract --- src/Illuminate/Database/Migrations/Migrator.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Illuminate/Database/Migrations/Migrator.php b/src/Illuminate/Database/Migrations/Migrator.php index 84827a7c8442..56cceb06b5ba 100755 --- a/src/Illuminate/Database/Migrations/Migrator.php +++ b/src/Illuminate/Database/Migrations/Migrator.php @@ -5,8 +5,8 @@ use Illuminate\Support\Arr; use Illuminate\Support\Str; use Illuminate\Support\Collection; -use Illuminate\Container\Container; use Illuminate\Filesystem\Filesystem; +use Illuminate\Contracts\Container\Container; use Illuminate\Database\ConnectionResolverInterface as Resolver; class Migrator @@ -14,7 +14,7 @@ class Migrator /** * The IoC container instance. * - * @var \Illuminate\Container\Container + * @var \Illuminate\Contracts\Container\Container */ protected $container; @@ -66,7 +66,7 @@ class Migrator * @param \Illuminate\Database\Migrations\MigrationRepositoryInterface $repository * @param \Illuminate\Database\ConnectionResolverInterface $resolver * @param \Illuminate\Filesystem\Filesystem $files - * @param \Illuminate\Container\Container $container + * @param \Illuminate\Contracts\Container\Container $container * @return void */ public function __construct(