Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Doctrine\DBAL\Event;
4
 
5
use Doctrine\DBAL\Platforms\AbstractPlatform;
6
use Doctrine\DBAL\Schema\Column;
7
use Doctrine\DBAL\Schema\TableDiff;
8
use Doctrine\Deprecations\Deprecation;
9
 
10
use function array_merge;
11
use function func_get_args;
12
use function is_array;
13
 
14
/**
15
 * Event Arguments used when SQL queries for adding table columns are generated inside {@see AbstractPlatform}.
16
 *
17
 * @deprecated
18
 */
19
class SchemaAlterTableAddColumnEventArgs extends SchemaEventArgs
20
{
21
    private Column $column;
22
    private TableDiff $tableDiff;
23
    private AbstractPlatform $platform;
24
 
25
    /** @var string[] */
26
    private array $sql = [];
27
 
28
    public function __construct(Column $column, TableDiff $tableDiff, AbstractPlatform $platform)
29
    {
30
        $this->column    = $column;
31
        $this->tableDiff = $tableDiff;
32
        $this->platform  = $platform;
33
    }
34
 
35
    /** @return Column */
36
    public function getColumn()
37
    {
38
        return $this->column;
39
    }
40
 
41
    /** @return TableDiff */
42
    public function getTableDiff()
43
    {
44
        return $this->tableDiff;
45
    }
46
 
47
    /** @return AbstractPlatform */
48
    public function getPlatform()
49
    {
50
        return $this->platform;
51
    }
52
 
53
    /**
54
     * Passing multiple SQL statements as an array is deprecated. Pass each statement as an individual argument instead.
55
     *
56
     * @param string|string[] $sql
57
     *
58
     * @return SchemaAlterTableAddColumnEventArgs
59
     */
60
    public function addSql($sql)
61
    {
62
        if (is_array($sql)) {
63
            Deprecation::trigger(
64
                'doctrine/dbal',
65
                'https://github.com/doctrine/dbal/issues/3580',
66
                'Passing multiple SQL statements as an array to SchemaAlterTableAddColumnEventaArrgs::addSql() ' .
67
                'is deprecated. Pass each statement as an individual argument instead.',
68
            );
69
        }
70
 
71
        $this->sql = array_merge($this->sql, is_array($sql) ? $sql : func_get_args());
72
 
73
        return $this;
74
    }
75
 
76
    /** @return string[] */
77
    public function getSql()
78
    {
79
        return $this->sql;
80
    }
81
}