PHP 5.1 RC6

tony2001

TeaM PHPClub
PHP 5.1 RC6

6-й и, надеюсь, последний RC перед релизом.

Обратите внимание на связку Apache2 + mod_rewrite, в RC6 пофиксена проблема с FreeBSD + Apache2 + mod_rewrite.
На других ОС она не производится, но к остальным тоже просьба протестировать и удостовериться, что у них всё работает как и раньше.

http://downloads.php.net/ilia/php-5.1.0RC6.tar.gz
Снапшоты для винды должны скоро появиться (hopefully).

В релиз 5.1 также будут включены upgrade notes:
http://news.php.net/php.internals/20128 - это рабочая версия.
Проверьте, плз, что там всё понятно и что упомянуты все моменты, достойные упоминания.

По всем вопросам - в этот топик.
 

Profic

just Profic (PHP5 BetaTeam)
Имхо стоит там же упомянуть про $objectOfClassImplementingArrayAccess['offset']++ и сотоварищи.
Т.е. в общем виде про невозможность менять "возвращаемость по ссылке" при наследовании.
В качестве примера:
PHP:
<?php
interface A {
	public function func();
}

class B implements A {
	public function &func() {}
}
?>
В этом случае будет Fatal error, так же как и при наследовании от абстрактного класса с реализуемым методом. При переопределении нормального метода нормального будет E_STRICT.

Это думаю в куда-нить в районе 1e.
 

si

Administrator
не слабый такой темп каждые 2 дня RC, не к добру это ...
 

tony2001

TeaM PHPClub
основную причину для RC6 я объяснил - странности Apache2 + mod_rewrite на Фре.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Re: PHP 5.1 RC6

Автор оригинала: tony2001
В релиз 5.1 также будут включены upgrade notes:
http://news.php.net/php.internals/20128 - это рабочая версия.
Проверьте, плз, что там всё понятно и что упомянуты все моменты, достойные упоминания.
Я фигею:
3. String offset access
=======================

In PHP, both [] and {} can be used for accessing string offsets, e.g.

php -r "$str = "string"; echo $str{5}";
and
php -r "$str = "string"; echo $str[5]";

would both return the same result. This has led to many complaints over
inconsistent code in the past, and the [] syntax was deprecated some years
ago in an attempt to resolve the issue. However, it appears that [] is the
more popular means of accessing string offsets, so the decision has now
been made to deprecate the {} string offset syntax instead, with the
intention of removing it fully at a later date.


php -r "$str = "string"; echo $str{5}";
will now return an E_STRICT message to that effect in PHP 5.1.0 and up,
and you are strongly discouraged from using this syntax in new code.
Мораль: если теперь PHP-рулевые вздумают что-нибудь сделать deprecated, ни в коем разе не надо срываться и переделывать свои проекты. Надо просто подождать, они посмотрят, что все болт клали на их "deprecated", да и вернут всё обратно. Волшебно.
 

itprog

Cruftsman
Да, действительно...Лучше бы сделали [] для массивов, {} для строк и не было бы путаницы...Ведь фиг отличишь массив $bar или строка $bar...
 

SiMM

Новичок
А я то глупо надеялся, что {} когда-нибудь будет использоваться для различных кодировок (в том числе - и мультибайтовых), а [] - для доступа к байту по смещению. Или наоборот? ;)
 

tony2001

TeaM PHPClub
Глупо обсуждать то, что еще не решено и скорее всего не случится.

>Лучше бы сделали [] для массивов, {} для строк и не было бы путаницы...Ведь фиг отличишь массив $bar или строка $bar...

Так и представляю себе эту картину: <спустя полгода это случается>, кое-кто приходит на форум и пишет "я фигею! вот казлы".
На все изменения реакция одна и та же - пассивно-ругательная.
Скучно..

>А я то глупо надеялся, что {} когда-нибудь будет использоваться для различных
> кодировок (в том числе - и мультибайтовых), а [] - для доступа к байту по смещению.

Эхгм... Что-что? Откуда ты такое взял?!
 

itprog

Cruftsman
Так и представляю себе эту картину: <спустя полгода это случается>, кое-кто приходит на форум и пишет "я фигею! вот казлы".
На все изменения реакция одна и та же - пассивно-ругательная.
Скучно..
На все нелогичные изменения. Откуда данные что [] популярные для строк? Где-то опрос был? Или в рассылке, где всего человек 20-30 учавствует?

А еще многие используют echo "$a";, может echo $a; пометить как deprecated?
Как в рассылке писали:
Please brake BC completely, and rename everything, and reorder
arguments, and replace array() with a(), and replace $this-> with
something consise, and replace '->' with '.', and replace '.' with '~'.
 

si

Administrator
tony2001
а что обсуждать то по твоему не глупо ?

люди ониже php-dev сначала говорят deprecated одно, через год-два, меняют свою точку зрения ровно на оборот, имхо это не нормально так же как твоя упертая позиция отрицать любую критику.
 

itprog

Cruftsman
Как бы к PHP6 не разрешили то что щас deprecated, а замену пометили как deprecated..
 

svetasmirnova

маленький монстрик
tony2001
>6-й и, надеюсь, последний RC перед релизом.
В RC7 тот баг (34883) не воспроизводится при выполнении phpinfo()
Под фрёй ещё не смотрела.
 

si

Administrator
не надо путать ллюдей. это просто версия cvs как я понимаю, то что там врсия такая незначит что выпустили RC7
 
Сверху