Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions | Protected Attributes
Snapshot Class Reference
Inheritance diagram for Snapshot:
Filesystem AbstractBackup BackupInterface SourceFileInterface Media Nomedia

Public Member Functions

 __construct (AppFilesystem $filesystem, Factory $backupFactory)
 
 rollback ()
 
 create ()
 
 getType ()
 
 setDbBackupManager (AbstractBackup $manager)
 
 getDbBackupFilename ()
 
- Public Member Functions inherited from Filesystem
 rollback ()
 
 create ()
 
 validateAvailableDiscSpace ($backupDir, $size)
 
 setUseFtp ($host, $username, $password, $path)
 
 getType ()
 
 addIgnorePaths ($paths)
 
 getIgnorePaths ()
 
 setBackupsDir ($backupsDir)
 
 getFtpPath ()
 
 getFtpConnectString ()
 
- Public Member Functions inherited from AbstractBackup
 setBackupExtension ($backupExtension)
 
 getBackupExtension ()
 
 setResourceModel ($resourceModel)
 
 getResourceModel ()
 
 setTime ($time)
 
 getTime ()
 
 setRootDir ($rootDir)
 
 getRootDir ()
 
 setBackupsDir ($backupsDir)
 
 getBackupsDir ()
 
 getBackupPath ()
 
 getBackupFilename ()
 
 getIsSuccess ()
 
 getErrorMessage ()
 
 setErrorMessage ($errorMessage)
 
 setName ($name, $applyFilter=true)
 
 getName ()
 
 getDisplayName ()
 
 keepSourceFile ()
 
 setKeepSourceFile (bool $keepSourceFile)
 

Protected Member Functions

 _createDbBackupInstance ()
 
 _getDbBackupManager ()
 
 _removeDbBackup ()
 
- Protected Member Functions inherited from Filesystem
 _checkBackupsDir ()
 
 _getTarTmpPath ()
 
 getRollBackFtp ()
 
 getRollBackFs ()
 
- Protected Member Functions inherited from AbstractBackup
 _filterName ($name)
 

Protected Attributes

 $_dbBackupManager
 
 $_filesystem
 
 $_backupFactory
 
- Protected Attributes inherited from Filesystem
 $_ignorePaths = []
 
 $_useFtp = false
 
 $_ftpHost
 
 $_ftpUser
 
 $_ftpPass
 
 $_ftpPath
 
 $rollBackFtp
 
 $rollBackFs
 
- Protected Attributes inherited from AbstractBackup
 $_name
 
 $_time
 
 $_backupExtension
 
 $_resourceModel
 
 $_rootDir
 
 $_backupsDir
 
 $_lastOperationSucceed = false
 
 $_lastErrorMessage
 

Detailed Description

Definition at line 18 of file Snapshot.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( AppFilesystem  $filesystem,
Factory  $backupFactory 
)
Parameters
AppFilesystem$filesystem
Factory$backupFactory

Definition at line 43 of file Snapshot.php.

44  {
45  $this->_filesystem = $filesystem;
46  $this->_backupFactory = $backupFactory;
47  }
$filesystem

Member Function Documentation

◆ _createDbBackupInstance()

_createDbBackupInstance ( )
protected

Create Db Instance

Returns
BackupInterface

Definition at line 114 of file Snapshot.php.

115  {
116  return $this->_backupFactory->create(Factory::TYPE_DB)
117  ->setBackupExtension('sql')
118  ->setTime($this->getTime())
119  ->setBackupsDir($this->_filesystem->getDirectoryWrite(DirectoryList::VAR_DIR)->getAbsolutePath())
121  }

◆ _getDbBackupManager()

_getDbBackupManager ( )
protected

Get database backup manager

Returns
Db

Definition at line 128 of file Snapshot.php.

129  {
130  if ($this->_dbBackupManager === null) {
131  $this->_dbBackupManager = $this->_createDbBackupInstance();
132  }
133 
135  }

◆ _removeDbBackup()

_removeDbBackup ( )
protected

Remove Db backup after added it to the snapshot

Returns
$this

Definition at line 164 of file Snapshot.php.

165  {
167  return $this;
168  }

◆ create()

create ( )

Implementation Create Backup functionality for Snapshot

Exceptions
Exception
Returns
bool

Implements BackupInterface.

Definition at line 80 of file Snapshot.php.

81  {
82  $this->_getDbBackupManager()->create();
83 
84  try {
85  $result = parent::create();
86  } catch (Exception $e) {
87  $this->_removeDbBackup();
88  throw $e;
89  }
90 
91  $this->_lastOperationSucceed = false;
92  $this->_removeDbBackup();
93  $this->_lastOperationSucceed = true;
94 
95  return $result;
96  }

◆ getDbBackupFilename()

getDbBackupFilename ( )

Get Db Backup Filename

Returns
string

Definition at line 154 of file Snapshot.php.

155  {
156  return $this->_getDbBackupManager()->getBackupFilename();
157  }

◆ getType()

getType ( )

Overlap getType

Returns
string
See also
BackupInterface::getType()

Implements BackupInterface.

Definition at line 104 of file Snapshot.php.

105  {
106  return 'snapshot';
107  }

◆ rollback()

rollback ( )

Implementation Rollback functionality for Snapshot

Exceptions
Exception
Returns
bool

Implements BackupInterface.

Definition at line 55 of file Snapshot.php.

56  {
57  $result = parent::rollback();
58 
59  $this->_lastOperationSucceed = false;
60 
61  try {
62  $this->_getDbBackupManager()->rollback();
63  } catch (Exception $e) {
64  $this->_removeDbBackup();
65  throw $e;
66  }
67 
68  $this->_removeDbBackup();
69  $this->_lastOperationSucceed = true;
70 
71  return $result;
72  }

◆ setDbBackupManager()

setDbBackupManager ( AbstractBackup  $manager)

Set Db backup manager

Parameters
AbstractBackup$manager
Returns
$this

Definition at line 143 of file Snapshot.php.

144  {
145  $this->_dbBackupManager = $manager;
146  return $this;
147  }

Field Documentation

◆ $_backupFactory

$_backupFactory
protected

Definition at line 37 of file Snapshot.php.

◆ $_dbBackupManager

$_dbBackupManager
protected

Definition at line 25 of file Snapshot.php.

◆ $_filesystem

$_filesystem
protected

Definition at line 32 of file Snapshot.php.


The documentation for this class was generated from the following file: