Какой формат именованного типизованного плейсхолдера выбрать?

grigori
Absinthe написал(а):
В одном запросе может применяться одно значение несколько раз.
И чтобы его несколько раз не биндить, нужны именованные плейсхолдеры.

Более того при сложных запросах (> 20 строк) сложно уследить за порядком неименованных.

PS только я вот понять не могу... PDO использующие постоянные соединения - за которых сервер держит соединение, или как?
 
в других расширениях - mysql, pg_sql, и т.д. была возможность открывать постоянные соединения, опять же, читайте в документации,
в pdo_mysql этого нет
 
да оно, я даже не искал его на самом деле
от постоянных соединений большинство давно уже отказалось - проблемы больше, чем выгода,
вообще, константы PDO, эта куча магических заклинаний - пример неудачного интерфейса
 
Слушай, а покажи, а? можно в личку. Я думал отэкстендить пдошечку, добавив в нее поддержку типизованных плейсхолдеров (правда, ценой перменентного включения режима эмуляции)
Я только сам PDO расширял, без Statement.
Но в любом случае придется самому подстановку делать, после чего уже вызывать PDO для готового запроса.
Но плюсы расширения pdo огромны: не придется менять интерфейс.

от постоянных соединений большинство давно уже отказалось - проблемы больше, чем выгода,
Кстати говоря, а как правильней делать, если у нас однопоточный сервер и зачачи простые? Держать пул соединений или на каждые 2 запроса делать новое?
 
как правильней делать, если у нас однопоточный сервер и зачачи простые? Держать пул соединений или на каждые 2 запроса делать новое?
зачем вообще что-то делать? время соединения с MySQL в mysqlnd уменьшилось по сравнению со старой либой, и оптимизации на простых задачах не требуется
 
надо чтобы класс наследовался от PDOStatement, иначе он не пройдет по typehinting

Program to an interface, not an implementation


Жесть какая. Вообще писатели PDO явно не думали о том, что их библиотеку будет кто-то использовать. Более неудобный API придумать сложно.

Но плюсы расширения pdo огромны: не придется менять интерфейс

Кто-то пользует PDO напрямую? Его api невозможно пользоваться.

А если речь о фреймворке, db-либа которой использует pdo-драйвер - так не проще ли для фреймворка написать драйвер, совместимый по интерфейсу с FrameworkDriverInterface?
 
Сверху