«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2019/05/03 10:11:50  №1393386 1
Объясните пожалуйста.
1) Как реализовать конструктор в классе, который реализует паттерн TableDataGateway? В примере ОП использует PDO и конструктор выглядит так:
public function __construct(PDO $pdo) { ... }
а я использую mysqli могу ли я написать
public function __construct($conn) { ... }?
Так же не понятно, что мне писать в самом конструкторе? Подключение к базе данных или что?
2)С исключениями я тоже не понял. Могу ли я их не использовать, а писать просто
$conn = new mysqli ($hn, $un, $pw, $db);
if($conn->connect_error) die($conn->connect_error);
?
Аноним 2019/05/03 10:26:27  №1393396 2
>>1393386
>а я использую mysqli
зачем? Юзай pdo
>Подключение к базе данных или что?
не смотрел пример ОПа, но в классе PDO коннекшн уже же будет установлен?
>С исключениями я тоже не понял. Могу ли я их не использовать, а писать просто
можешь. Зачем тебе только это? Твой die() выйдет из программы и всё, а исключение можно обработать и продолжать работать дальше.

Привыкай к ним, die и exit в реальном коде не встретишь
Ответы: >>1393514 >>1393514
Аноним 2019/05/03 11:49:12  №1393429 3
>>1393386
>а я использую mysqli могу ли я написать
>public function __construct($conn) { ... }?
Да просто оберни mysqli в класс и всё.
Я бы тогда ещё и интерфейс сделал, чтобы можно было как через ПДО ходить, так и через твою обёртку.
Ответы: >>1393514 >>1394575
Аноним 2019/05/03 16:24:09  №1393514 4
>>1393396
>>1393396
>Юзай pdo
В книге, которую я читаю, используют mysqli. Мне его использовать удобней.
>PDO коннекшн уже же будет установлен?
Не понял
>Зачем тебе только это?
Да вот собственно вопрос. Оп пишет что исключение сокращает код, только у меня чет наоборот. Ну и нигде нормального объяснения про исключения не могу найти.
Так же видел, что нельзя использовать класс Exception. С классом Exception вопросы. Мне нужно создать свой класс, который унаследует Exception? А что в нем писать?
Ну и не понятно зачем отлавливать ошибку если можно вместо die
отправить HTML страницу с ошибкой. Но в задании этого нет, так что делать я этого не буду.

>>1393429
Во во, тоже вопрос. ОП вроде тоже писал про обертку mysqli или не он. Что это значит? Зачем нужно? Как реализовать я даже не спрашиваю. И что так mysqli не любят?
Аноним 2019/05/03 17:21:33  №1393541 5
>>1393514
>про обертку mysqli
>Что это значит?
То и значит - оберни в класс функционал mysqli, который тебе нужен.
>Зачем нужно?
Банально удобнее работать с такими вещами через объекты.
Ну и по ТЗ нужен ООП.
>Как реализовать я даже не спрашиваю
Объяснять дольше чем класс писать. С этой хренью любой ждун за 10 минут справится. Гугл подоёбывай по этой теме.