|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Всем привет, если кто-нибудь разбирался или разбирается в начинке PHP-драйвере Firebird, напишите мне ak@ibase.ru, пожалуйста. With best regards, Alexey Kovyazin HQbird www.ib-aid.com Техподдержка www.ibase.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2019, 11:12 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Alexey Kovyazin, я во внутренностях PDO немного разбираюсь. Даже багу там поправил. Ещё там разбирается "Dorin Marcoci" Или речь про ibase_* драйвер который в PHP 8.0 решили убрать? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2019, 12:28 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Во кипит-то... https://externals.io/message/104883#104990 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 16:43 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
пишут, пишут... конгресс, немцы какие-то... голова пухнет! (С) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 16:54 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
PHP изначально был ещё одним странным языком для генерации HTML. Назачем его ещё поддерживают и куда-то развивают - непонятно в принципе. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 16:56 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
это стильно, модно, молодёжно! (С) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 16:58 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
o_v_a, ну и хорошо что кипит. На самом деле внутреннее устройство и удобство ibase драйвера оставляет желать лучшего. Очень неприятный момент с тем что параметры в подготовленный запрос можно передавать, только как переменное количество параметров. Крайне уродливый код выходит. Кстати хотелось бы более подробно узнать в каком месте именно проблема. Насколько я понял основная проблема а потоко-небезопасных хэндлах, но единственное место где они шарятся, это ожидание евентов, хотя может я чего-то не понимаю. Порадовала новость https://firebirdsql.org/en/news/revival-of-php-driver-development/ Там Мартин Кодитц чего то делает, но что именно не ясно. Его форка в котором есть хоть какие-то изменения я не нашёл, наверное в приватной ветке. Можно было бы помочь, если понимать, что именно надо исправлять. Что касается PHP PDO, то оно тоже не идеально. Во-первых оно не поддерживает специфичных фич Firebird: - множество транзакций на соединение - события - доступ к сервис API - возможность узнать типы и свойства параметров после подготовки запроса Во-вторых даже имеющиеся возможности PDO сделаны не до конца, так функция getColumnMeta не реализована вовсе. Параметры внутри реализованы тоже так себе: по возможности внутрях всё переводится в текст и меняется тип параметра, что уничтожает сведения о предыдущем значении типа. Я это понял когда на выходных прикручивал возможность передачи BOOLEAN в качестве параметра. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 17:10 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Чисто любопытно: про драйвер к LUA уже все забыли или кто-то ещё его пилит? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 17:18 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
08.04.2019 17:18, Dimitry Sibiryakov пишет: > Чисто любопытно: про драйвер к LUA уже все забыли или кто-то ещё его пилит? еретики! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 17:32 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovPHP изначально был ещё одним странным языком для генерации HTML. Назачем его ещё поддерживают и куда-то развивают - непонятно в принципе. ну как бы есть спрос - https://w3techs.com/technologies/overview/programming_language/all а причинах модно долго рассуждать, но факт остается фактом Мимопроходящийэто стильно, модно, молодёжно! (С) стильно модно молодежно это nodejs )) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 20:09 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Симонов ДенисОчень неприятный момент с тем что параметры в подготовленный запрос можно передавать, только как переменное количество параметров. Крайне уродливый код выходит. не понял о чем ты ?? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 20:10 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Дегтярев Евгений, да вот про это Код: php 1.
нет чтобы Код: php 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 20:14 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
сложно судить почему сделали так а ни эдак, но я не вижу в этом проблемы, один раз обернул и забыл ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 20:19 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
зы поясните откуда весь этот кипишь пошел? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 20:20 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Дегтярев Евгений, да всё очень просто в PHP 8.0 (следующая за 7.4) решили переместить ibase_ расширение в PECL, потому что хендлы не потокобезопасные. Оно вроде как ничего, так как хендл соединения не выходит за пределы работающего скрипта, за исключением использования функции ibase_wait_event ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 20:27 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Дегтярев Евгенийсложно судить почему сделали так а ни эдак, но я не вижу в этом проблемы, один раз обернул и забыл вот как обёртку не делай, она уродством выглядит, самое красивое что получилось Код: php 1. 2. 3. 4. 5. 6. 7. 8.
хрень с eval ещё большее уродство ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 20:34 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
я вместо reflection использовал call_user_func_array после выхода 5ки сделал себе маленьку библитечку и даже не вспоминал как оно там внутрях работает ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 20:43 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Дегтярев Евгений, мне не нравится когда хендл перемешан с параметрами в одном массиве. Кстати да call_user_func_array наверное подешевле будет ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 20:46 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Симонов Денисда всё очень просто в PHP 8.0 (следующая за 7.4) решили переместить ibase_ расширение в PECL, потому что хендлы не потокобезопасные. Оно вроде как ничего, так как хендл соединения не выходит за пределы работающего скрипта, за исключением использования функции ibase_wait_event посмотрел, с точки зрения разработчиков ядра пыха перенос в pecl выглядит логичным да для тех кто пользуется неприятно, но тем не менее логично ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 20:53 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Симонов Денисмне не нравится когда хендл перемешан с параметрами в одном массиве. ну не перемешаны, порядок все таки важен с одной стороны да, "не аккуратненько как-то", с другой стороны, а не пох ли, все равно в коллфреме все параметры друг за дружкой лягут ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 20:58 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Дегтярев Евгений, кстати посмотрел в новом коде тоже используется call_user_func_array. Тут неаккуратно со многих позиций. В массив аргументов включается хендл 1 элементом, теперь если надо использовать этот массив дальше, то сразу после вызова ibase_execute, его надо удалить хендл из массива. А ещё массив и по ссылке может быть передан. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 21:10 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovPHP изначально был ещё одним странным языком для генерации HTML. Назачем его ещё поддерживают и куда-то развивают - непонятно в принципе. Ну он был как бы не первым <языком для генерации HTML>. Да и на него проще переходить с С-лайк ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 21:43 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Симонов ДенисВ массив аргументов включается хендл 1 элементом, теперь если надо использовать этот массив дальше, то сразу после вызова ibase_execute, его надо удалить хендл из массива. сделай на временной копии если так нужно Код: php 1. 2. 3. 4. 5.
А ещё массив и по ссылке может быть передан. начиная с 5.0 передача по ссылке типа Код: php 1.
мягко говоря не приветствуется если параметр необходимо передать по ссылке, то это указывается в объявлении функции, иначе ссзб ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:09 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Дегтярев Евгений, так речь и идёт про передачу по ссылке, которая указывается которое указывается в объявлении функции. Короче это попытка эмуляции PDO методов bindParam, bindValue. Первый связывает по ссылке, второй по значению. Я в своей реализации все эти фиговины уже обошёл, и не спрашиваю как это сделать. Т.е. когда в своём коде вызываешь обёртку, то вроде всё нормально, но внутрях обёртки ужас, потому что функция ibase_execute изначально сделана неудобной. Собственно это расширение сделано вполне себе в стиле PHP 3, PHP 4 когда параметры у функций были в фиг знает в каком порядке. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 10:55 |
|
Кто разбирается во "внутренностях" PHP драйвере?
|
|||
---|---|---|---|
#18+
Симонов Денися во внутренностях PDO немного разбираюсь. Даже багу там поправил. Ещё там разбирается "Dorin Marcoci" Вот вдвоем и тащите кольцо в Мордовию. Группа поддержки вроде тоже вырисовывается. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2019, 13:38 |
|
|
start [/forum/topic.php?fid=40&fpage=24&tid=1560745]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
121ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 230ms |
0 / 0 |