Transaction   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 3
Bugs 1 Features 0
Metric Value
eloc 7
dl 0
loc 31
rs 10
c 3
b 1
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A rollback() 0 3 1
A commit() 0 3 1
A __construct() 0 6 1
1
<?php
2
3
namespace Win\Repositories\Database;
4
5
use PDO;
6
use Win\Application;
7
8
/**
9
 * Transações no Banco de Dados
10
 */
11
class Transaction
12
{
13
	/** @var PDO */
14
	private $pdo;
15
16
	/**
17
	 * Inicia a Transação
18
	 * @param Connection $conn
19
	 */
20
	public function __construct(Connection $conn = null)
21
	{
22
		$conn = $conn ?? Application::app()->conn;
23
		/** @scrutinizer ignore-call */
24
		$this->pdo = $conn->getPdo();
25
		$this->pdo->beginTransaction();
26
	}
27
28
	/**
29
	 * Completa a Transação
30
	 */
31
	public function commit()
32
	{
33
		$this->pdo->commit();
34
	}
35
36
	/**
37
	 * Cancela a Transação
38
	 */
39
	public function rollback()
40
	{
41
		$this->pdo->rollBack();
42
	}
43
}
44