Филипп Олсон (Philip Olson) в списке рассылки разработчиков PHP предложил (http://marc.info/?l=php-internals&m=131031747409271&w=2) план, согласно которому пользователей уведомят о том, что использование стандартного классического расширения ext/MySQL не приветствуется из-за соображений безопасности. Впоследствии это расширение можно будет вообще исключить из поставки.
План состоит из следующих пунктов:
- Упразднение использования ext/MySQL в документации, начиная с сегодняшнего дня;
- Возможное добавление флага E_DEPRECATED к функциям этого расширения, начиная с PHP 5.5/6.0;
- Добавление примеров использования функций pdo_mysql, а также примеров использования подготовленных запросов (prepared statement);
- Улучшение документации для pdo_mysql и mysqli;
- Создание документа "Ситуация с MySQL", которая отвечает на все вопросы.Предложение в целом получило поддержку. Разработчики указывают (http://marc.info/?l=php-internals&m=131073409831187&w=2) на серьёзные недост...
URL: http://marc.info/?l=php-internals&m=131031747409271&w=2
Новость: http://www.opennet.me/opennews/art.shtml?num=31197
> предложил планПо почте может прислать? ;-)
Давно пора от классического расширения избавиться.
Давно, давно, давно пора. Вообще, нравится тенденция выпиливания протухшего кода из пыха и приведения синтаксиса в относительный порядок.
> Давно, давно, давно пора. Вообще, нравится тенденция выпиливания протухшего кода из пыха
> и приведения синтаксиса в относительный порядок.с опозданием лет на 10, не меньше
Лучше поздно, чем никогда.
вы ещё пользуетесь ext/MySQL ? ))) .....пс: кстате что больше всего ненавижу в пхп - это каша процедурных функций с классами
нахрена если создаёте что то новое вроде mysqli сделайте его только ОО (объектно ориентированным) - нахрена делать ещё процедурный стайл ?
и бесит када в документации в пример два стиля мешают
>нахрена если создаёте что то новое вроде mysqli сделайте его только ОО (объектно ориентированным) - нахрена делать ещё процедурный стайл ?А я вот, например, не люблю, когда у меня половина скрипта написана в процедурном стиле, остальную приходится писать в ООП. Так что по мне, возможность выбора - очень правильное решение.
эт понятно када стандартные типы данных не представляют из себя классыи поэтому существуют отдельные процедурки для работы с ними
приходиться всё оборачивать в классы и работать с ними
пхп ваще никак не стандартизирован не в плане синтаксиса не в плане стайла (парадигмы)
> вы ещё пользуетесь ext/MySQL ? )))К сожалению, приходится. Тот же Simple Machines Forum ни на чём больше работать не умеет.
После каждого такого deprecated задумываешся - может быть всётаки php это ошибка истории, может лучше было его совсем не придумывать, жить себе с перлом дружненько? А то слишком часто они так забавляются - придумают ректальным методом что-нибудь эдакое, чтобы потом лет через много узнать что оно оказывается в яве или в перле с самого начала было удобнее и разумнее сделано, и кричать "давайте переделаем, плевать на совместимость". И так раз за разом.
У perl'a очень "читабельный" иногда код получается.И в освоении Perl сложен.
да я в курсе что на нём можно натворить; здесь я имел в виду функциональность а не синтаксис. А для освоения есть cpan - код там в основном очень качественный, берёшь любой модуль и учишься.
Лень сделать
perltidy -b *.pl
?
может сразу аккуратно писать учиться?
И кто тут ляпнул про неаккуратность? Не суди по себе.perltidy позволяет унифицировать до пробела от разных людей, что
очень удобно перед коммитом.
а в изящной словесности он тоже помогает?
Тогда уж не перл, а питон.
> Тогда уж не перл, а питон.дело вкуса конечно, но всётаки кажется что создатели php всё больше из явы и перла всякие полезности перетягивают. Может быть питон для них сложный сильно?
Самая большая проблема Питона - сам по себе он ничего не умеет. Софту, который на нём написан, требуется большое количество подключаемых сторонних модулей. И потому довольно сложно добиться нормальной его работы на всём многообразии дистрибутивов с модулями, установленными в систему, а не идущими с софтом. Какой-нибудь маленький модуль обновишь - вся программа падает.
>Самая большая проблема ПитонаСамая большая проблема питона это его синтаксис. В экстремальных условиях применять категорически запрещено, один сраный пробел может заставить пересматривать и перепересматривать, переотлаживать, бится головой об стену много часов.
>Самая большая проблема питона это его синтаксис. В экстремальных условиях применять категорически запрещено, один сраный пробел может заставить пересматривать и перепересматривать, переотлаживать, бится головой об стену много часов.Очевидно, вы никогда не писали на питоне. Он просто выдаст indentation error с указанием модуля и номера строки. Так что вовсе и не надо даже переотлаживать.
Если же вы везде выставили отступы в один пробел, то дурное влияние php - это ваши проблемы. Следуйте pep8.
> Самая большая проблема питона это его синтаксис. В экстремальных условиях применять категорически
> запрещено, один сраный пробел может заставить пересматривать и перепересматривать, переотлаживать,
> бится головой об стену много часов.Можно подумать, что неправильно выставленные } в пыхе не приводят к тому же эффекту.
>> Самая большая проблема питона это его синтаксис. В экстремальных условиях применять категорически
>> запрещено, один сраный пробел может заставить пересматривать и перепересматривать, переотлаживать,
>> бится головой об стену много часов.
> Можно подумать, что неправильно выставленные } в пыхе не приводят к тому
> же эффекту.хех и при том номер строки ошибки - конец файла ))))))))))))))))
чаще всего номера ошибки нет, просто выдаётся некорректный результат. И если результат нетривиальный, то тогда действительно нужно убить время чтобы найти место косяка.
какая чушь. Просто есть php со своей нишей кодеров в головах которых больше одного ЯП не вмещается. Если смотреть в разрезе веба, а в остальных нишах скриптовых языков питон хорошо процветает.
> какая чушь. Просто есть php со своей нишей кодеров в головах которых
> больше одного ЯП не вмещается. Если смотреть в разрезе веба, а
> в остальных нишах скриптовых языков питон хорошо процветает.меня в своё время отторгнуло от питона - несовместимость версий - не знал аккую учить
ставил на компе новую (допустим 2.5) а в самой системе (2.4) - и всё блин скрипты питона которые использовались в системе полетеле к чертям нах.
к примеру если не ошибаюсь одно изменение синтаксиса print-а чего стоило
пс: да не отрицаю были там всякие конвертеры но это не дело - нужен стандарт
Морал очень простой, можно его где-нибудь на стенке долотом выдолбить: нигде совместимости сверху вниз нет, т.е. более старшие версии назад не совместимы с больее ранними. И это касается всего на свете.> меня в своё время отторгнуло от питона - несовместимость версий - не знал аккую учить
нафиг тебе вообще кодерством заниматься, если не можешь уложить в голове пару тривиальных отличий? Веб кодерство, конечно, стало работой для широких слоёв населения, но мобильность мозгов всё равно должна быть хотя бы в небольшой степени.
Веб-"программинг", в основном, как и любое рисование UI — это не программинг, а кодинг. Тупой, линейный и беспощадный. Сложный только тем, что приходится рвать жопу между «как правильно» и «как работает». А так - рисуй себе как оно выглядит, да описывай логику, нунче век развитой, со всякими Backbone.js'ами да прочими Raphaël'ями думать много не надо.CRUD и тривиальные посчитушки еще можно прямо во фронтэнде делать, но не более того. И то, посчитушки, если быть пунктуальным, в общем-то, делаются в некой БД, ну да пес с ней, этой нечеткой границей.
Все остальное к вебу отношение имеет только тем, что через веб-фронтэнд в него выдается. Разве что специальная ниша client-side фреймворков (где может вылезти все что угодно типа задач компьютерной графики или цифровой обработки сигналов) — там, да, есть программирование.
В «веб-ориентированной системе» — 90% системы, 10% веба. И веб-часть, как правило — технически ничем не интересная, чисто кодирование всем понятных вещей.
>> меня в своё время отторгнуло от питона - несовместимость версий - не знал аккую учитьНу всё-таки изучать стоило уже установленное, а не сразу кайлом махать.
> Морал очень простой, можно его где-нибудь на стенке долотом выдолбить:
> нигде совместимости сверху вниз нет, т.е. более старшие версии назад не совместимы
> с больее ранними. И это касается всего на свете.Вы серьёзное не сталкивались с тем же Tcl? У меня скрипты десяти-двенадцатилетней давности с 7.x, что ли, не так давно прекрасно работали на 8.x.
Просто есть продуманные и зрелые языки, где в т.ч. и над обратной совместимостью думают. А есть php, где ломают что-то в каждом миноре, да и питоны, где достаточно ломают каждую вторую циферку. Это необязательно чистый недостаток -- если нарабатывается нужная и полезная функциональность либо отламывается заведомо небезопасная/кривая, то цена для языка может быть разумной. Другой вопрос, есть ли более стабильный язык/рантайм для нормальной реализации задачи или придётся ездить на слегка/совсем нестабильных.
> да и питоны, где достаточно ломают каждую вторую циферку.что-то вы пишете явно далёкое от реальности, примеры в студию
>> да и питоны, где достаточно ломают каждую вторую циферку.
> что-то вы пишете явно далёкое от реальности, примеры в студиюЯ немножко лет восемь как наблюдаю со стороны перетаскивания альтовской пакетной базы с питона на питон. Особенно кровопролитно, конечно, выглядело перетягивание Zope -- даже в исполнении cray@...
Ну и своих питоньих пакетов некоторое количество есть, хотя ровно по этой причине пришлось предпринять меры к тому, чтобы это количество оставалось минимальным и не включало сколь-нибудь сложные проекты.
Для меня 2.x->3.x -- это уже не "достаточно ломают", а "скорее другой язык" (ср. qt3/qt4). Возможно, у Вас другая реальность или же другая шкала грабель.
давайте конкпетики, что вы перетаскивали с 2.x на 2.y y > x, так, что в 2.x всё работало, а в 2.y перестало.
>> да и питоны, где достаточно ломают каждую вторую циферку.
> что-то вы пишете явно далёкое от реальности, примеры в студиюhttp://ru.wikipedia.org/wiki/Обратная_совместимость
го в школу - позорно если ты не соблюдаешь обратку - и не сопровождаешь её хотя бы до следующего стейбла
ещё раз для тупых - покажи где она была поломана
ещё раз для лузеров>>нигде совместимости сверху вниз нет, т.е. более старшие версии назад не совместимы с больее ранними.
это мои слова ?
> Морал очень простой, можно его где-нибудь на стенке долотом выдолбить: нигде совместимости
> сверху вниз нет, т.е. более старшие версии назад не совместимы с
> больее ранними. И это касается всего на свете.с какого хрена мой камент удалили
нужны пруфы? http://ru.wikipedia.org/wiki/Обратная_совместимость
Обратная совместимость в программном обеспечении
Обратная совместимость применительно к программному обеспечению означает способность более поздних версий программы работать с файлами, созданными более ранней версией этой же программы или программы, реализующей те же алгоритмы, что и более ранняя версия. Так, например, в Microsoft Office присутствует поддержка целого ряда форматов, которые на данный момент почти не используются.
Обратная совместимость (для hardware)
Обратная совместимость применительно к аппаратному обеспечению означает способность более новых типов оборудования эмулировать работу предшествующих. Так, например, микропроцессоры Intel до сих пор поддерживают весь набор инструкций, использовавшихся ещё в самых первых представителях этого ряда.
> Самая большая проблема Питона - сам по себе он ничего не умеет.Всегда думал, что это не проблема, а отлично проработанная архитектура. Разработчики Calibre кажется и не подозревают, что это проблема.
И что? Во-первых, пых из перла и вышел. Во-вторых, брать лучшее и использовать опыт - есть хорошо. В-третьих, складывается такое ощущение, что большинство узнает об изменениях из релизов, а не из мейл-листов разработчиков, что получается для них, как молотком по голове.
> И что? Во-первых, пых из перла и вышел. Во-вторых, брать лучшее и
> использовать опыт - есть хорошо. В-третьих, складывается такое ощущение, что большинство
> узнает об изменениях из релизов, а не из мейл-листов разработчиков, что
> получается для них, как молотком по голове.речь о том, что брать лучшее и использовать опыт родителя после многих лет хождения по граблям, это, как-бы помягче сказать, несколько недальновидно.
>>Во-первых, пых из перла и вышел.откуда трава?
Использование mysql_* в логике многое говорит о написавшем или об отношении к проекту.Database Abstraction Layer (PDO, Doctrine, Propel, десятки их), для кого?
к сожалению реальность такова, что минимум 80% кодописателей используют именно mysql_* , а про разные абстракции слышали только понаслышке и не знают как их у себя применять (имею в виду всякие медиенагентуры, которые под заказ пишут; в опенсорсных проектах всётаки меньше будет). У этого должна быть какая-то причина; может быть, это от того что и в оригинальной документации, и во всей куче литературы по php для начинающих, приводятся именно эти функции? Это первое, чем начинают пользоваться, поэтому на другое уже тяжело перелазить.
В перле к примеру всегда был очень правильный и собственно единственный DBI , все как минимум с него начинали - а там и портабельность сразу объясняется, и связанные параметры, и всякая всячина чтобы сразу аккуратно с базой работать учиться. В php такое в самом начале не сделали, а когда серьёзные прослойки появились уже поздно было.
Ещё один аспект, в отношении к связанным параметрам: в DBI они подаются сразу и везде, тот кому повезло учится работать с базой на примере этого модуля скорее всего и не задумывается в запросах прямую интерполяцию использовать, тоесть чтобы там написать небезопасный запрос нужно делать лишние движения, поэтому по умолчанию код достаточно безопасный получается. А в прослойках для php, типа того-же ADOdb, про этот метод указывается что он требует дополнительных ресурсов, поскольку mysql это сам не поддерживает, и во всей оставшейся документации про него успешно забывают. Врядли такое отношение самих авторов способствует тому чтобы новички этим пользовались.
Знаете, на это можно возразить что не ошибается только тот, кто ничего не делает.
Вообще ИМХО PHP очень хорошо развивается, и с поддержкой обратной совместимости проблем никаких и с новыми функциями.Вообще все очень даже хорошо, для меня конечно медленно, но с учетом того какие есть слоупоки (как пример - очень многие "курсы" по созданию на коленке сайтов) то удалять тоже нужно аккуратно, а то вой будет - он был например когда народ с удивлением обнаружил что не работает register_globals (по умолчанию, в денвере например :), наверное он еще будет когда убьют полностью магические кавычки, да и еще что-нить. Но в целом очень все даже хорошо.
> Вообще все очень даже хорошоКак обычно, дальше носа своей убунты в языковом эквиваленте мир плохо различим...
Ну конечно, альт же ваш круче всех, кто бы сомневался :)
Блин, а вот убунта тут при чем, троллик?
> Ну конечно, альт же ваш круче всех, кто бы сомневался :)Хе, альт ближе к тому же перлу хотя бы по части культуры. :)
(и найти настолько же педантичного дебиановода, как более-менее толкового альтовода -- на практике оказывается весьма сложно: всё больше раздолбаи, даже если и толковые; чем-то напоминает perl vs python опять же по части культур)> Блин, а вот убунта тут при чем, троллик?
Да уж больно на одно лицо те, у кого "всё изобрёл марк", или "всё очень даже хорошо в php", или вот "дотнет заруливает и запедаливает". Подрастёте -- поймёте, надеюсь, цену этим каргокультам.
PS: а проекту php, конечно, всяческой удачи в попытках хотя бы постфактум исправить ошибки юности, молодости и средних лет.
и много же альтовцев с синдромом гоблина, что вокруг одни малолетние долбо*бы мерещатся? не наговаривайте на себя и умерьте паранойю. человек всего-лишь сказал, что нормально развивается, но можно было и побыстрее. но ведь в теме про ненавистный пых как же не влезть, хоть и не в тему, правда, культурный?
> Хе, альт ближе к тому же перлу хотя бы по части культуры. :)Вот тут уж не спорю - и то и то дикий изврат, как перл невозможно нормально сопровождать - как был write-only языком, так и есть, так и альт - кривости и костыли - так что ближе, не спорю. И после С/С++/PHP/Python на перловый код смотришь как на творчество обкуренного.
> Да уж больно на одно лицо те, у кого "всё изобрёл марк", или "всё очень даже хорошо в php", или вот "дотнет заруливает и запедаливает".
Ну я уж не знаю, что там марк изобрел, но ему можно сказать большое спасибо что он взял за основу отличный дистрибутив (Debian) и немного обработал его напильником, приспособив для десктопа, поправил там мелкие баги и косяки, чтобы все сразу просто работало.
В отличие от некоторых, которые блин суслики, возомнившие себя агрономами.
Где-то в предыдущих новостях в форуме кто-то писал, что у Альта большие проблемы в продакшане т.к. он плохо документирован.
Всегда относился к PHP как к недоязыку, особенно после того как лет 5 назад в доках по нему увидел, что там чуть ли не каждая функция experimental. Готов поспорить, что связок mysql+php больше любых других - они друг друга стоят.