Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace Doctrine\DBAL\Driver\Mysqli\Initializer;
6
 
7
use Doctrine\DBAL\Driver\Mysqli\Exception\InvalidCharset;
8
use Doctrine\DBAL\Driver\Mysqli\Initializer;
9
use mysqli;
10
use mysqli_sql_exception;
11
 
12
final class Charset implements Initializer
13
{
14
    private string $charset;
15
 
16
    public function __construct(string $charset)
17
    {
18
        $this->charset = $charset;
19
    }
20
 
21
    public function initialize(mysqli $connection): void
22
    {
23
        try {
24
            $success = $connection->set_charset($this->charset);
25
        } catch (mysqli_sql_exception $e) {
26
            throw InvalidCharset::upcast($e, $this->charset);
27
        }
28
 
29
        if ($success) {
30
            return;
31
        }
32
 
33
        throw InvalidCharset::fromCharset($connection, $this->charset);
34
    }
35
}