Вопрос: Как переписать подключение к базе данных, по принципам ООП?

Лучший ответ: Никак.
Это не стёб и не троллинг.  Это единственный возможный ответ на этот хороший, в сущности, вопрос. 

ООП - это не картина, которую купил и на стенку повесил, для красоты.
Это инструмент для решения какой-либо задачи. 
Если задачи нет, то и ООП применять не следует.

в данном случае перед ООП надо выучить куда более базовые вещи. 
Например научиться применять готовые классы, такие как mysqli
узнать почему за использование @ программистам в аду льют кипяток на самые нежные части тела
выучить что exit('Ошибка подключения'); - это говнокод
ну и открыть для себя разделение логики работы с данными и логики отображения. То есть сначала получить все данные, а потом только выводить.

Эту страницу можно переписать в соответствии с принципами аккуратного кода 

Сначала сделать файл config.php. 
Этот файл можно будет исключить из системы контроля версий и таким образом иметь на каждом сервере свой

<?php
return [
    'db' => [
        'host' => '127.0.0.1',
        'port' => 3306,
        'db'   => 'pizza',
        'user' => 'root',
        'pass' => '',
        'charset' => 'utf8mb4',
    ]
];
потом сделать файл mysqli.php
Этот файл можно будет включать во все скрипты, которым нужно соединение с БД
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$db = new mysqli(
    $config['db']['host'], 
    $config['db']['user'], 
    $config['db']['pass'], 
    $config['db']['db'], 
    $config['db']['port']
);
$db->set_charset($config['db']['charset']);
$db->options(MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 1);

Потом сделать страницу pizza.tpl.php в которую поместить весь HTML 
.
            <select id="single" class="form-control" name = '1234' >
                <option value="" disabled selected style='display:none;'>выберите тип</option>
                <?php foreach($types as $object): ?>
                    <option value ="<?=$object['id']?>"><?=$object['name']?></option>
                 <?php endforeach ?>
            </select>

И потом сделать страницу pizza.php на которой собрать это всё вместе
<?php
$config = require 'config.php';
require 'mysqli.php';

$sql="SELECT * FROM pizza";
$types=$db->query($sql)->fetch_all(MYSQLI_ASSOC);

include 'pizza.tpl.php';

После этого можно будет потихоньку приглядываться к ООП.
Например сделать класс pizzaModel
Но делать его будет иметь смысл только тогда, когда мы будем знать, какие еще действия с пиццей будет производить этот код

Худший ответ: Хороший код это когда его легко читать, понимать, и легко его продолжать писать.
В связи с огромными проектами программ, где количество кода не способен воспринять 1 человек. Были придуманы разные подходы. Самый популярный подход это ООП.
ООП служит для легкости восприятия кода одним человек! 
Который не знает всей картины кода, но с легкостью может писать код своей задачи не нарушая читаемость, переносимость и прочее.
В разных задачах похожие объекты могут быть разными по подходу ООП.
Поэтому лучше всего изучать с использования готовых фреймворков и CMS. 
В CMS Joomla, Вы как бы создавая расширение, просто описываете объект по аналогии с имеющиемся, попутно Вы увидите узлы, элементы, слои кода.
Быть может Вы уже наверно слышали подход MVC. Это тоже абстрактная сущность, обобщающая принципы. 

В иных случаях код нужно писать кратчайшим путем. Ошибся, Во всех случаях, код нужно писать кратчайшим путем.