1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Setup\Module;
use Magento\Framework\App\ResourceConnection;
use Magento\Setup\Model\ObjectManagerProvider;
/**
* Factory class to create Setup
*
* @api
*/
class SetupFactory
{
/**
* @var ObjectManagerProvider
*/
private $objectManagerProvider;
/**
* Constructor
*
* @param ObjectManagerProvider $objectManagerProvider
*/
public function __construct(ObjectManagerProvider $objectManagerProvider)
{
$this->objectManagerProvider = $objectManagerProvider;
}
/**
* Creates setup
*
* @param ResourceConnection $appResource
* @return Setup
*/
public function create(ResourceConnection $appResource = null)
{
$objectManager = $this->objectManagerProvider->get();
if ($appResource === null) {
$appResource = $objectManager->get(\Magento\Framework\App\ResourceConnection::class);
}
return new Setup($appResource);
}
}