URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 91788
[ Назад ]

Исходное сообщение
"Обновление PHP 5.5.4"

Отправлено opennews , 19-Сен-13 20:16 
Представлен (http://php.net/archive/2013.php#id2013-09-19-1) корректирующий выпуск интерпретатора языка программирования PHP - 5.5.4, в котором исправлено 17 ошибок (http://www.php.net/ChangeLog-5.php#5.5.4).


Среди изменений:


-  В функцию fputcsv() добавлена возможность определения символа экранирования.
-  Устранены крахи при манипуляции объектами в cli/apache sap и  при использовании zend_error() при сборке с опцией "--enable-dtrace".
-  В фильтре кодирования в quoted-printable исправлена некорректное кодирование пробелов. Исправлена неверная установка переменной PHP_BINARY. Устранены проблемы со сборкой в gcc 4.4.
-  Устранено переполнение буфера в модуле Datetime.
-  Налажено корректная инициализация идентификатора сессии при включенной поддержке защищённых сессий (http://www.opennet.me/opennews/art.shtml?num=37684).

URL: http://php.net/archive/2013.php#id2013-09-19-1
Новость: http://www.opennet.me/opennews/art.shtml?num=37954


Содержание

Сообщения в этом обсуждении
"Обновление PHP 5.5.4"
Отправлено Пани Дубяшева , 19-Сен-13 20:16 
Господи, когда уж  они выпустят  PHP 6 !!! :)

"Обновление PHP 5.5.4"
Отправлено xl32 , 19-Сен-13 20:17 
И что вам даст эта цифра?

"Обновление PHP 5.5.4"
Отправлено Пани Дубяшева , 19-Сен-13 20:26 
Жду полноценную реализацию юникода

"Обновление PHP 5.5.4"
Отправлено xl32 , 19-Сен-13 20:37 
> Жду полноценную реализацию юникода

Неявную? В строках? И как тогда они, по-вашему, будут бинарно-безопасную обработку продолжать соблюдать? Да лесом!

Вон, через функции и так всё отлично и предсказуемо работает.


"Обновление PHP 5.5.4"
Отправлено анонимус , 19-Сен-13 21:56 
А я все жду скалярный тайп хинтинг.

"Обновление PHP 5.5.4"
Отправлено Аноним , 20-Сен-13 01:15 
Зойчем? Третий питон после перехода на юникод вон как затормозил. Каким бы быстрым алгоритм разбора юникода ни был, он будет заметно медленнее однобайтовых кодировок. Проэтому лучше оставить все как сейчас.

"Обновление PHP 5.5.4"
Отправлено Я , 20-Сен-13 07:25 
Чегой-та?

"Обновление PHP 5.5.4"
Отправлено angra , 20-Сен-13 09:22 
А perl обеспечил наилучшую поддержку юникода хрен знает сколько лет назад и никаких тормозов не добавилось. Может не в самом юникоде дело, а в конкретных реализациях? Хотя учитывая ЦА php реализация как в питоне более вероятна.



"Обновление PHP 5.5.4"
Отправлено Аноним , 20-Сен-13 10:08 
Поддержка unicode в perl - тот еще костыль.

"Обновление PHP 5.5.4"
Отправлено angra , 20-Сен-13 12:25 
Она кажется костылем только тем, кто не знает насколько сложной вещью является unicode. Путь объявления всего юникодом хорош для ЦА гвидобейсика, так как наличие нескольких вариантов взрывает им мозг, но не для ЦА perl, которая исповедует противоположные принципы.

"Обновление PHP 5.5.4"
Отправлено лох , 20-Сен-13 15:16 
что за тупизна?
> Путь объявления всего юникодом

с какого перепугу вы решили, что в питоне всё юникод?
> наличие нескольких вариантов взрывает им мозг

это вам взрывает мозг уже само наличие питона.
> ЦА perl, которая исповедует противоположные принципы

ну и где она с этими принципами? Цитата: "С 2000 года идёт разработка новой (6-й) версии языка" (Википедия)
И вообще, откуда вы знаете, какие принципы исповедует ЦА? Это возможно только если вы === ЦА. В таком случае не завидую перлу.


"Обновление PHP 5.5.4"
Отправлено angra , 20-Сен-13 20:43 
С идеологией языка можно ознакомится даже не изучая сам язык. Сюрприз? Кстати с тем как развивается язык тоже. Например узнать, что perl6 считается не следующей версией perl, а отдельным языком, причем пропасть между perl и perl6 больше, чем между С и C++ или C++ и D.

"Обновление PHP 5.5.4"
Отправлено kurokaze , 23-Сен-13 01:06 
> не завидую перлу.

Отлично, не хватало ещё чтобы фонаты гвидобейсика ему завидовали и вообще пачкали своими мыслями


"Обновление PHP 5.5.4"
Отправлено лох , 20-Сен-13 15:34 
> Она кажется костылем только тем, кто не знает насколько сложной вещью является
> unicode.

unicode - сложная вещь? или реализация его в перле сложная вещь?

> Путь объявления всего юникодом хорош для ЦА гвидобейсика

не путай питон и джанго.

если для тебя даже юникод сложная вещь, то понятно, почему ты не осилил "гвидобейсик". Работа с юникодом и строками/байтами вообще в питоне самая тривиальная, простая и очевидная из всех ЯП, перечисленных в Википедии http://ru.wikipedia.org/wiki/Язык_программирования в списке "Основные языки программирования".


"Обновление PHP 5.5.4"
Отправлено angra , 20-Сен-13 20:33 
Если вы не знаете про сложности юникода, то это не значит, что их нет. Другое дело, что подавляющее большинство программистов на эти сложности не натыкается, вот и верят, что юникод это просто. Ответьте себе честно сколько из этого вы знали:

Code that assumes roundtrip equality on casefolding, like lc(uc($s)) eq $s or uc(lc($s)) eq $s, is completely broken and wrong. Consider that the uc("σ") and uc("ς") are both "Σ", but lc("Σ") cannot possibly return both of those.

Code that assumes every lowercase code point has a distinct uppercase one, or vice versa, is broken. For example, "ª" is a lowercase letter with no uppercase; whereas both "ᵃ" and "ᴬ" are letters, but they are not lowercase letters; however, they are both lowercase code points without corresponding uppercase versions. Got that? They are not \p{Lowercase_Letter}, despite being both \p{Letter} and \p{Lowercase}.

Code that assumes changing the case doesn’t change the length of the string is broken.

Code that assumes there are only two cases is broken. There’s also titlecase.

Code that assumes that ü has an umlaut is wrong.

А ведь это только малая часть из типичных заблуждений на тему использования unicode.


"Обновление PHP 5.5.4"
Отправлено arisu , 21-Сен-13 11:10 
> Ответьте себе честно сколько из этого вы знали:

подозреваю, что дальше он не понял ни слова.


"Обновление PHP 5.5.4"
Отправлено arisu , 21-Сен-13 11:09 
> если для тебя даже юникод сложная вещь, то понятно, почему ты не
> осилил «гвидобейсик».

если для тебя юникод — это просто, то понятно, почему тебе так нравится гвидобейсик. я ж говорю: ЦА у гвидобейсика — это недоучки-похаписты, которые стесняются признаться, что пишут на похапэ. вот ты — один из них, например.


"Обновление PHP 5.5.4"
Отправлено kurokaze , 23-Сен-13 01:08 
> понятно, почему ты не осилил "гвидобейсик"

Зачем, если есть руби? там хоть не требуются специальные автоформатирующие редакторы


"Обновление PHP 5.5.4"
Отправлено бедный буратино , 20-Сен-13 15:51 
> Путь объявления всего юникодом хорош для ЦА гвидобейсика

это в какой версии гвидобейсика?

в версии гвидобейсика 2 - нет

в версии гвидобейсика 3 - нет

об чём речь?


"Обновление PHP 5.5.4"
Отправлено angra , 20-Сен-13 20:25 
Во второй версии как раз было различие между юникод и байтовыми строками. В третьем все строки стали юникодными. С жалобы на результаты этого и началась эта ветвь дискуссии.

"Обновление PHP 5.5.4"
Отправлено бедный буратино , 21-Сен-13 03:14 
Это не так. И в гб2, и в гб3 есть и unicode, и байтовые строки.

Python 2.7.5+ (default, Sep 17 2013, 15:31:50)
[GCC 4.8.1] on linux2

>>> a = u'маша'
>>> b = 'маша'
>>> a

u'\u043c\u0430\u0448\u0430'
>>> b

'\xd0\xbc\xd0\xb0\xd1\x88\xd0\xb0'
>>> type (a)

<type 'unicode'>
>>> type (b)

<type 'str'>
>>> len(a)

4
>>> len(b)

8


Python 3.3.2+ (default, Sep 18 2013, 11:58:01)
[GCC 4.8.1] on linux

>>> a = 'маша'
>>> b = a.encode('utf-8')
>>> b

b'\xd0\xbc\xd0\xb0\xd1\x88\xd0\xb0'
>>> a

'маша'
>>> len(b)

8
>>> len(a)

4
>>> type (b)

<class 'bytes'>
>>> type (a)

<class 'str'>

А вообще
Бейсик не порок, Гвидо не пророк.


"Обновление PHP 5.5.4"
Отправлено Нанобот , 20-Сен-13 13:24 
>Каким бы быстрым алгоритм разбора юникода ни был, он будет заметно медленнее однобайтовых кодировок.

человеки не заметят микросекундные различия. более того, эти микросекундные различия будут слабо заметны даже в профайлере на фоне общей медлительности интерпретатора


"Обновление PHP 5.5.4"
Отправлено Аноним , 20-Сен-13 13:29 
Проблема в том, что Python компилируется в байт-код. А PHP парсится каждый раз на лету. И должен работать быстро даже без включения кэша, потому что кэш в PHP - сугубо опциональная функция.

"Обновление PHP 5.5.4"
Отправлено ололош , 20-Сен-13 15:51 
Ты наркоман чтоли? В пхп точно такой же байткод )

"Обновление PHP 5.5.4"
Отправлено hshhhhh , 20-Сен-13 17:41 
Да не, пхп способен работать без байткода, а вы ничего не понимаете!

"Обновление PHP 5.5.4"
Отправлено kurokaze , 23-Сен-13 01:12 
> слабо заметны даже в профайлере на фоне общей медлительности интерпретатора

Ну вы все интерпретаторы не равняйте по гвидобейсиковскому.
Кроме того если бы вы были правы, не существовали бы "нативные" либы


"Обновление PHP 5.5.4"
Отправлено Аноним , 22-Сен-13 15:57 
Очевидное-невероятное: UTF-8 полностью совместим с ASCII. То есть, текст, закодированный однобайтовым ASCII, до последнего бита идентичен оному в UTF-8.

"Обновление PHP 5.5.4"
Отправлено Аноним , 20-Сен-13 03:45 
> Господи, когда уж  они выпустят  PHP 6

им не хватает прямолинейности поттеринга.


"Обновление PHP 5.5.4"
Отправлено Аноним , 19-Сен-13 22:16 
mbstring еще не встроен в ядро?

substr, strpos, etc ... выглядит ужасно с UTF


"Обновление PHP 5.5.4"
Отправлено ILYA INDIGO , 20-Сен-13 01:13 
>mbstring еще не встроен в ядро?

apc, memcache, radis, sphynx, bcmath, ssl, preg, gd и куча всего не встроено в ведро, и чё с этого?
Что мешает собрать из pear/pecl или в вашем случае просто подключить уже имеющийся модуль?
Причём, насколько помню, под M$ mbstring и zip встроены.
>substr, strpos, etc ... выглядит ужасно с UTF

Юзай http://ua1.php.net/manual/ru/ref.mbstring.php


"Обновление PHP 5.5.4"
Отправлено Аноним , 20-Сен-13 02:01 
iconv.input_encoding = UTF-8
iconv.internal_encoding = UTF-8
iconv.output_encoding = UTF-8
mbstring.internal_encoding = UTF-8
mbstring.func_overload = 1

"Обновление PHP 5.5.4"
Отправлено Аноним , 20-Сен-13 02:02 
default_charset = UTF-8
mbstring.http_output = UTF-8
mbstring.encoding_translation = On

"Обновление PHP 5.5.4"
Отправлено xl32 , 20-Сен-13 01:46 
Они выглядят отлично.
Вы по ним хелп читали? Это функции для бинарных строк. Не трогайте их, чем вас не устраивают mb_*?

"Обновление PHP 5.5.4"
Отправлено anonymous , 20-Сен-13 09:40 
ждем когда будет нормальный парсер всего этого в LLVM

"Обновление PHP 5.5.4"
Отправлено GentooBoy , 20-Сен-13 18:17 
Комментят типичные php программисты.

"Обновление PHP 5.5.4"
Отправлено kurokaze , 23-Сен-13 01:14 
> Комментят типичные php программисты.

Ну и атипичные вроде тебя и пневмонии