Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Для профи > PHP 6


Автор: Mal Hack 3.1.2007, 18:40
Не увидел я темы для обсуждения сабжа, тем не менее, считаю нужным, привести тут статью из phpinside...
К чему надо готовиться... ИМХО, если, то, что написано будет сделано, это будет существенный плюс языку. Это многих начит программировать сразу.. Много упущений и вольностей канут в лету...

Статья "Готовьтесь к PHP 6 " (опубликована в PHPInside - http://phpinside.ru)

Автор: Richard Davey 
Перевод: Андрей Олищук 

Дополнительные ссылки:
http://www.php.net/%7Ederick/meeting-notes.html

Цитата
Окончательные релизы PHP 6 появятся не скоро, но профессиональные 
разработчики должны знать к чему готовиться... 

Вы уже, наверное, в курсе, что группа разработчиков ядра PHP 6 встречалась в 
ноябре 2005 года в Париже. Это была захватывающая встреча, на которой разработчики 
обсудили развитие PHP со своей точки зрения. Прежде чем я начну свой рассказ о 
принятых решениях, вынужден предупредить – все что здесь перечислено, это не 
«100% решенные вопросы» и в окончательном релизе PHP 6 дела могут обстоять иначе. 
Конечно же, все эти моменты будут обсуждаться подробнее, но уже сейчас можно 
говорить о перспективах. 

Юникод 

Поддержка юникода в настоящий момент может быть установлена только на уровне 
«per request», т.е. для каждого запрашиваемого файла. Это означает, что PHP придется 
сохранять варианты классов, имен методов и функций одновременно в таблице символов 
Unicode и в non-Unicode, что, конечно же, увеличивает количество потребляемых ресурсов. 
Разработчики решили сделать настройку юникода на уровне всего сервера, а не 
запроса. Отключение поддержки юникода, если таковая не требуется, может увеличить 
производительность строковых функций до 300% и приложений в целом до 25%. Вынос 
настроек в php.ini позволит снять заботу о юникоде с разработчика и переложить ее на 
администраторов хоста. 

Если вы самостоятельно собираете PHP и несете всю ответственность за ваши серверы, 
то вам будет полезно знать, что для PHP 6 потребуются библиотеки ICU (в зависимости 
от того, будет ли нужен Unicode или нет). 

Register Globals уйдут в прошлое 

Попрощайтесь с этой настройкой, она будет окончательно убрана. Такой настройки 
больше не будет в php.ini и если вы ее внесете, то получите ошибку уровня 
E_CORE_ERROR. Это означает, что PHP 6 наконец-то завершит эру скриптов PHP 3. Это 
серьезный, но очень нужный шаг. 

Magic Quotes будут исключены 

Опция magic quotes будет так же исключена из PHP и при попытке включения такой 
настройки, «выскочит» ошибка E_CORE_ERROR. Это повлияет на magic_quotes, 
magic_quotes_sybase и magic_quotes_gpc. 


Больше не будет Safe Mode 

Это понравится тем, кто хостится на серверах с обязательным включением Safe 
Mode. Теперь, включение опции будет вызывать ошибку E_CORE_ERROR. Причиной 
для этого становится механизм посыла «сигнала опасности», который делает PHP более 
безопасным. Сохранится лишь open_basedir. 

'var' будет полным алиасом 'public' 

Var используется в классах PHP 4. В объектном подходе PHP 5, употребление var 
вызывает ошибку уровня E_STRICT. В PHP 6 предупреждение об ошибке будет устранено 
и var станет полным синонимом public. Это вполне нормальное решение, однако, те, 
кто «подогнал» свои скрипты под PHP 5, сделали в этом плане лишнюю работу. 

Возврат по ссылке вызовет ошибку 

И '$foo =& new StdClass()' и 'function &foo' теперь вызовут ошибку уровня 
E_STRICT. 

Будет убрана совместимость с zend.ze1 

Ze1 всегда пытался поддерживать старое поведение PHP 4, но не всегда «работал 
на 100%», поэтому в шестой версии PHP он будет полностью исключен. 

Поддержка Freetype 1 и GD 1 будет убрана 

Поддержка обоих (очень-очень старых) библиотек будет убрана. 

dl() останется только в SAPI 

Каждую функцию SAPI нужно будет регистрировать отдельно и только CLI и 
embed SAPI будут работать с этого момента. В других вариантах dl() работать не будет. 

FastCGI всегда включена 

FastCGI код будет «вылизан» и станет включенным по-умолчанию для CGI SAPI. 
При этом, поддержку FastCGI будет невозможно отключить. 

Старые названия глобальных массивов будут удалены 

Помните старые массивы HTTP_*_VARS? Если вы еще не начали использовать 
$_GET и $POST, то начните делать это прямо сейчас, потому что в PHP 6 эти массивы 
будут вызывать E_CORE_ERROR. 

Перемещения расширений 


Расширения XMLReader и XMLWriter войдут в дистрибутив и станут доступны по 
умолчанию. Расширение ereg для работы с регулярными выражениями переедет в PECL 
(т.е. будет удалено из PHP). Это означает, что PCRE будет по умолчанию недоступно и 
выключено. Такой шаг делается для включения нового расширения для работы с регулярными 
выражениями, основанными на ICU. Чрезвычайно полезное расширение 
Fileinfo будет включено в дистрибутив и доступно по умолчанию. 

Дополнения к движку PHP 

64 битный целочисленный тип данных 

В движок будет добавлен новый тип данных -int64. Он будет использоваться поумолчанию 
для integer. 

Goto 

Никаких команд goto не будет добавлено. Однако, команда break расширится статической 
меткой, поэтому будет возможно написать break foo и это перекинет на метку 
foo: в вашем коде. 

ifsetor() 

Похоже, что мы не увидим эту функцию, что обидно. В операторе ?: можно будет 
опускать один параметр, что позволит писать так: "$foo = $_GET['foo'] ?: 42;" (т.е. если 
foo является истиной, то $foo будет равно 42). Это сэкономит немного кода, однако будет 
не так читаемо, как при использовании ifsetor(). 

foreach для многоуровневых массивов 

Это отличное новшество – вы сможете проходить с помощью foreach по нескольким 
уровням массива, к примеру "foreach( $a as $k => list($a, $b))". 

{} против [] 

Сейчас вы можете использовать и {} и [] для обращения к строковым индексам. 
Однако, запись {} уже сейчас вызовет E_STRICT в PHP 5.1 и будет полностью устранена 
в PHP 6. К тому же, [] частично заменят substr и array_slice и вы сможете использовать 
"[2,]" для получения символов от второго и до конца строки. Очень удобно. 

Изменения в объектном стиле 

Связка static 

Будет добавлено новое ключевое слово для доступа к последующей связке – 
static::static2(), что позволит управлять static во время выполнения. 

Пространства имен 

Этот момент остается нерешенным и по сей день. Мой совет – не задерживайте дыхание. 

Типизированные значения при возврате из функций 


Разработчики высказались против типизации, потому как это «не в стиле PHP». Однако 
такая возможномть будет добавлена, но не решен вопрос ее синтаксиса. В любом 
случае, это будет полезная возможность. 

Вызов динамческих функций как статических приведет к E_FATAL 

Сейчас вы можете вызывать статические и динамические методы не обращая внимание 
на то, статические они или динамические. Вызов динамической функции как статической, 
вызовет E_FATAL. 

Добавления в PHP 

APC войдет в ядро 


Работа APC с байткодом будет включена в основную поставку PHP в качестве 
стандарта, но, вероятно, не будет активизирована по-умолчанию, но результаты ее работы 
будут стимулировать хостеров включать эту опцию. 

Hardened PHP патч 

Этот патч выполняет большое количество дополнительных проверок на безопасность. 
Разработчики тщательно изучают этот патч и некоторые элементы найдут свое место 
в PHP: защита от разделения HTTP-запроса, allow_url_fopen будет разделена на две: 
allow_url_fopen и allow_url_include. Первая опция будет по-умолчанию включена, а вторая 
– отключена. 

E_STRICT войдет в E_ALL 

Вау, это серьезная штука! Сообщения об ошибках наконец-то войдут в E_ALL по 
умолчанию. Это демонстрирует старания разработчиков научить «лучшей практике программирования
» посредством сообщений «Эй, ты делаешь неправильно!». 

Прощайте asp-тэги <% 

Будет удалена поддержка ASP-тэгов, но останутся короткие PHP-тэги <? ?>. 

Заключение 

PHP 6 движется в интересном направлении – разработчики PHP начали направлять 
программистов на правильный путь, вместо того чтобы упреждать «так делать не надо, 
потому что это устарело». Категоричное искоренение таких моментов как register 
globals, magic quotes, long arrays, {} string indexes и call-time-pass-by-references наконец-то 
заставит программистов «вычистить» свой код. Плохо ли это? Я так не думаю, но все это 
сделает переход на PHP 6 еще более медленным, чем мы наблюдаем с PHP 5 (который 
итак происходит ужасно!). 

Автор: Vaulter 3.1.2007, 19:06
почему же ужасно???
Цитата

Похоже, что мы не увидим эту функцию, что обидно. В операторе ?: можно будет 
опускать один параметр, что позволит писать так: "$foo = $_GET['foo'] ?: 42;" (т.е. если 
foo является истиной, то $foo будет равно 42). Это сэкономит немного кода, однако будет 
не так читаемо, как при использовании ifsetor(). 


то есть начинать писАть $foo = $_GET['foo']?null:42; где это надо???? smile
и я не понял, регулярки будут по дефолту офф или он??? smile

Автор: Mal Hack 3.1.2007, 19:17
Цитата(Vaulter @  3.1.2007,  19:06 Найти цитируемый пост)
и я не понял, регулярки будут по дефолту офф или он??? smile 

Цитата
Issue: Currently we have two extensions dealing with regular expressions, and soon there will be a third one based on ICU.

Discussion: Currently we see some problems with the bundled ereg library in some places due to people specifying --with-regex=system. We also see distributions linking against another library than our bundled one to prevent conflicts with the apache bundled regex library, or the system's one. As most people seem to prefer linking against something else than our bundled version, it seems proper to remove this bundled library. If we remove the bundled library, then we need to make the ereg functions into an extension, otherwise we can not enable them in all cases. Some functionality in the core of PHP also uses POSIX regular expressions, those should be rewritten to use PCRE then.

Conclusions:

   1. We make ereg an extension
   2. The PCRE extension will not be allowed to be disabled.
   3. The core of PHP should be made to work with PCRE so that we can safely disable ereg
   4. We unbundle the regex library

Судя по всему, это коснется только ereg.

Автор: Спец 24.1.2007, 18:14
что вы годаете? поживём увидим, php щас хреново работает местами, а с новыми функциями/модулями воб=обще будет глюк а не php они этот глюк назовут логикой и все будут верить!)

Автор: BobiKK 24.1.2007, 18:23
Обоснуйте, товарищ

Автор: gta4kv 24.1.2007, 18:36
>>Register Globals уйдут в прошлое 


Ура ))))) Какая радость (:

Автор: Mal Hack 24.1.2007, 22:36

 ! 
Mal Hack
Предыдущий "оратор" получил "кирпич" с лишеним прав постинга за мат
Обращаюсь к предыдущему "оратору". Ваше не умение настраивать скрипт, так, чтобы он работал и днем и ночью - это ваша ошибка,  а не "кривость" языка.

Автор: smartov 25.1.2007, 00:01
Цитата(Mal Hack @  3.1.2007,  17:40 Найти цитируемый пост)
Юникод 

Register Globals уйдут в прошлое 

Magic Quotes будут исключены 

Аллилуйя! Неужели в конце концов!
Жаль namespace-ов не сделают smile

Автор: Mal Hack 25.1.2007, 00:03
Я думаю, не все сразу... Хотя, если честно, мне кажется, namespace, будут для PHP лишними. Лучше бы облегчили бы ядро.

Автор: BobiKK 25.1.2007, 01:38
Абидно, что mutli-threading'а не будет. На 7-ку ещё to-do list'а нету? smile

Автор: smartov 25.1.2007, 01:39
Цитата(BobiKK @  25.1.2007,  00:38 Найти цитируемый пост)
Абидно, что mutli-threading'а не будет.

Чёто мне кажется для скриптового языка эт перебор...

Автор: BobiKK 25.1.2007, 01:50
И для Python'a и для Ruby тоже перебор?

Автор: smartov 25.1.2007, 11:15
BobiKK, я чёто не подумавши написал. Ночь была... Ты прав.

Автор: IZ@TOP 2.2.2007, 12:35
Цитата(smartov @  25.1.2007,  01:01 Найти цитируемый пост)
Жаль namespace-ов не сделают smile 

Я уже было "затаил дыхание".


Ни кто не знает почему Zend Studio 5.2 подсвечивает выражение use? Я что-то не нашел для чего оно используется.

Автор: smartov 2.2.2007, 14:26
Цитата(IZ@TOP @  2.2.2007,  11:35 Найти цитируемый пост)
Ни кто не знает почему Zend Studio 5.2 подсвечивает выражение use?

Он ещё и as подсвечивает. Как будто это предполагается как конструкция use...as , вот только для чего она - остаётся наясным.

Автор: Opik 8.2.2007, 12:19
Цитата(smartov @  24.1.2007,  23:01 Найти цитируемый пост)
Жаль namespace-ов не сделают

есть патчик специальный smile
Цитата(smartov @  2.2.2007,  13:26 Найти цитируемый пост)
Он ещё и as подсвечивает

Код

foreach ($array AS $key => $value)

Автор: IZ@TOP 27.2.2007, 19:09
Цитата(Opik @  8.2.2007,  13:19 Найти цитируемый пост)
есть патчик специальный

Слышал. Но насколько он функционален работоспособен?

Автор: CyClon 28.2.2007, 14:32
Творят разработчки все во имя добра smile Особенно порадовало, что 
Register Globals уберут, уберут Magic Quotes, уберут $HTTP_*_VARS и, конечно же, можно будет писать так:

Код
print ($variable) ?: "Hello World";


Ну, и на счет Hardened PHP патч - это тоже шаг в сторону увеличения безопаности. Include-баг уже кактить не будет при allow_url_include 0.

Автор: smartov 28.2.2007, 17:42
CyClon, 
Цитата(CyClon @  28.2.2007,  13:32 Найти цитируемый пост)
можно будет писать так:

наверное все-таки вот так  smile 
Код

print ($variable ?: "Hello World");

Автор: mr.fox 1.3.2007, 03:14
а примерная дата выхода не известна?

Автор: Mal Hack 11.3.2007, 16:21
Ну через год, наверное, stable уже будет какой-ть, уж RC должен быть точно.

Автор: Alan 6.6.2007, 05:56
Я тоже жду php 6... все в нем хорошо) Вопрос только один... когда эту прелесть поставят на хостинги... сомневаюсь, что на мой ее вобще когда-нибудь поставят (

Загрузить текущую версию разрабатываемого кода для Linux/BSD и скомпилированные версии для Windows можно на сайте PHP Snapshots. (wiki)

Автор: Serkys 9.6.2007, 03:02
Цитата(Alan @  6.6.2007,  05:56 Найти цитируемый пост)
когда эту прелесть поставят на хостинги... сомневаюсь, что на мой ее вобще когда-нибудь поставят (

Поставят на хостинги достаточно быстро. Жаждущих программить под РНР6 будет немало, а у хостеров конкуренция достаточно сильная, чтобы привлекать к себе пользователей чем угодно, в том числе и новой версией РНР.

Автор: nerezus 10.6.2007, 07:08
Цитата

наверное все-таки вот так
 А разве у ?: не предпоследний приоритет?
А у print - самый низший.

Автор: Vbif 24.6.2007, 19:41
Цитата(Serkys @ 9.6.2007,  03:02)
Поставят на хостинги достаточно быстро. Жаждущих программить под РНР6 будет немало, а у хостеров конкуренция достаточно сильная, чтобы привлекать к себе пользователей чем угодно, в том числе и новой версией РНР.

Ой что-то не верится что быстро. PHP 5 далеко не везде стоит, а шестую версию вообще не известно когда поставят. Хостеры любят стабильность, и ставят то, что себя зарекомендовало.
А из нововведений спасибо за ликвидацию register_globals & safe_mode

Автор: nerezus 24.6.2007, 20:23
Цитата

PHP 5 далеко не везде стоит
 Кому надо — у того стоит. А кому не надо — тому не надо.
Логика  smile 

Автор: Diesel Draft 18.7.2007, 16:30
Вот читаю переписку РНР разработчиков. Там  Andi Gutmans предложил использовать дополнительно короткою форму записи для массивов:

Цитата

I thought I may have brought this up a long time ago but couldn't find anything in \
the archives. For a long time already I've been thinking about possibly adding a new \
syntax for array(...) which would be shorter. I'd suggest [...]. While I am usually \
not in favor of having more than one way to do things, I think it'd look much more \
elegant especially (but not only) for nested arrays.

So what I'm thinking of is:
array(1, 2, 3) == [1, 2, 3]
array(1, 2, array("foo", "bar")) == [1, 2, ["foo", "bar"]]
array("key" => 1, "key2" => 2) == ["key" => 1, "key2" => 2]

$arr = [1, 2, 3]
vs.
$arr = array(1, 2, 3)

Well enough examples given 
I think it's not worth doing unless there's overwhelming support as it's not \
desperately needed. But I'd be interested to hear people's thoughts. It seems \
implementation shouldn't be an issue but I'd have to dive a bit deeper.
 



http://marc.info/?l=php-dev&m=117057393530217&w=2



Мне тоже нравится    

Автор: Fally 31.7.2007, 16:04
хм... вот это было бы удобнее для тех кто с Перла переходит ;) да просто удобней так будет массивы делать... ИМХО

Автор: Diesel Draft 31.7.2007, 16:09
ага, но они там спорят и навряд ли это будет включено

Автор: Fally 1.8.2007, 16:43
а жаль :(
Хотя лучше сделать поддержку двух способов, для переносимости))

Автор: Diesel Draft 1.8.2007, 16:47
Да, но каждая такая штучка тормозит РНР.

Вот если компиляция была..  smile ....в псевдокод 

Автор: Diesel Draft 2.8.2007, 15:55
Вот скачал я себе РНР6. Сижу балуюсь  smile 
радости полные штаны. 
Для тех кто говорил что NS не будет скажу что будут  smile , проверял, не думаю что они заберут их оттуда теперь 

Автор: nerezus 2.8.2007, 16:38
а потоки так и не сделали? )) печально =\

Автор: Diesel Draft 2.8.2007, 16:44
Много поточность?

Автор: Garret 11.8.2007, 10:36
И не сделают smile

Автор: Diesel Draft 11.8.2007, 11:08
да знаю

Автор: BobiKK 1.10.2007, 10:42
Ура! Пространства имён будут уже в 5.3!
http://blog.agoraproduction.com/index.php?/archives/51-Namespaces-has-PHP-5.3-Or-the-other-way-around.html

Автор: Diesel Draft 1.10.2007, 11:34
Уже решили? Просто они сомневались

Читал? http://forum.vingrad.ru/news/topic-167247.html

Автор: BobiKK 1.10.2007, 13:06
Поскольку внесли таки в HEAD, то в основной ветке появится очень скоро.

Автор: IZ@TOP 1.10.2007, 18:07
Отлично!

Автор: webart77 8.10.2007, 11:41
Только вот наш хостинг все еще сидит на 4-ке, что толку мечтать о 6-й?

Автор: Diesel Draft 8.10.2007, 11:44
webart77, Но самая большая часть уже на РНР5

Автор: nerezus 8.10.2007, 15:56
Цитата

Только вот наш хостинг все еще сидит на 4-ке, что толку мечтать о 6-й?
 сменить хостинг религия мешает?

Автор: webart77 10.10.2007, 08:39
Хостинг менять - заморочки, в т.ч. с деньгами, но все же наверное Вы правы: хочешь новые возможности - возьми новый хостинг.

Автор: Diesel Draft 10.10.2007, 09:52
Нас самом деле мало кто отказался полностью он РНР4, поскольку на их серверах есть клиенты которые не хотят гнаться за модой и переписывать.

Автор: nerezus 10.10.2007, 10:19
Цитата

Вот если компиляция была..   ....в псевдокод 
 Есть. Но за дополнительные деньги =)
Ну либо бесплатные реализации.

Автор: artuska 9.11.2007, 15:19
Опа! А что эта за функция такая - ifsetor()? Впервые слышу.
И на php.net тоже ее в упор не вижу... (http://lv.php.net/manual-lookup.php?pattern=ifsetor)

Автор: skyboy 9.11.2007, 15:35
artuska, в манале описаны уже реализованные функции. для поиска описания того, что только будет, следует использовать другой сайт: google.com.
Вот один из результатов поиска: http://codepoets.co.uk/node/150.
Цитата(artuska @  9.11.2007,  14:19 Найти цитируемый пост)
 Впервые слышу.

Так правильно. А какой у тебя РНР? Неужто 6-й? 0_о

Автор: smartov 10.11.2007, 18:33
Цитата(skyboy @  9.11.2007,  14:35 Найти цитируемый пост)
Вот один из результатов поиска: результат.

Забавная функция smile Самое интересное что похоже основная (но не единственная конечно) область ее применения - это как раз забор данных из параметров.

Лично я никогда не стесняслся в этих случаях использовать кракозябру (с головой конечно, а не всегда)
Код

$param = @$_POST['param'];

Автор: Fally 19.11.2007, 16:22
Как сказал Деррик Ретанс, в состав РНР6 должен войти APC включенный по умолчанию, а это ооочень хорошо))

Автор: soloweb 7.12.2007, 02:31
Воообще не плохо! Я думаю разработчики стремятся снизить уровень незнаний и увеличить качество написания кода, заставляя делать все так как надо "Ну хотя найдутся те кто смогут извращатся, но не без этого smile" и это правельно smile  Стремися к лучшему !

Автор: Fally 12.12.2007, 15:05
пусть сделают возможность строгой типизации (не обязательную) и я буду счастлив.

Автор: smartov 12.12.2007, 19:05
Fally, не сделают

Автор: Diesel Draft 13.12.2007, 13:23
И зачем, если и так хорошо. Работать быстрее оно точно не начнет.

Автор: Fally 17.12.2007, 13:15
Цитата(Diesel Draft @  13.12.2007,  13:23 Найти цитируемый пост)
Работать быстрее оно точно не начнет.

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


Цитата(smartov @  12.12.2007,  19:05 Найти цитируемый пост)
не сделают 

А как же это:
Цитата


Типизированные значения при возврате из функций 

Разработчики высказались против типизации, потому как это «не в стиле PHP». Однако 
такая возможномть будет добавлена, но не решен вопрос ее синтаксиса. В любом 
случае, это будет полезная возможность. 



Автор: sTa1kEr 11.1.2008, 13:38
Цитата(Fally @  17.12.2007,  14:15 Найти цитируемый пост)
Типизированные значения при возврате из функций 

Это не тоже самое, что и строгая типизация.

На самом деле зачатки строгой типизации существуют в PHP 5 уже давно и я говорю не про типизированные параметры методов. Покопайтесь в мало известном расширении spl_types.

Я просто приведу пару примеров:
Код

$int = new SplInt();
$int = 5;
$int = "Hello"; // Тут будет вы брошен экзепшен

Код

class StrongTyped extends SplType
{
   public $a;
   public function __construct($a = 0)
   {
      $this->a = $a;
   }
}
$obj = new StrongTyped();
$obj = new StrongTyped(5);
$obj = new stdClass(); // Тут будет выброшен экзепшен



Автор: nerezus 11.1.2008, 14:05
SomeClass::getInstance()->
проблема решится при строгой типизации. Сейчас пока что IDE не предлагают автодополнение после ->
А теперь возьмите любую нормальную IDE для той же жабы. Предлагают.

Автор: sTa1kEr 11.1.2008, 14:12
Цитата(nerezus @  11.1.2008,  15:05 Найти цитируемый пост)
Сейчас пока что IDE не предлагают автодополнение после ->

В Zend Studio прекрасно работает авто дополнение основываясь на PHPDoc-ах.

Автор: Diesel Draft 12.1.2008, 13:43
Цитата(sTa1kEr @ 11.1.2008,  13:12)
Цитата(nerezus @  11.1.2008,  15:05 Найти цитируемый пост)
Сейчас пока что IDE не предлагают автодополнение после ->

В Zend Studio прекрасно работает авто дополнение основываясь на PHPDoc-ах.

PHPeD тоже. Даже очень не плохо.  Мне кажется даже лучше Зенда

Автор: KLeonid 12.3.2008, 07:09
А мне и на 4ке неплохо живется smile. И пока не собираюсь переходить на PHP5. А уж про 6 и вообще даже и не думаю пока.

Автор: Diesel Draft 12.3.2008, 11:14
KLeonid, А 4тый уже не поддерживает  smile 

Автор: smartov 12.3.2008, 12:56
KLeonid, 
Цитата(KLeonid @  12.3.2008,  06:09 Найти цитируемый пост)
А мне и на 4ке неплохо живется

Тяжелое децтво, восьмибитные игрушки...  smile 

Автор: Serkys 12.3.2008, 13:13
Цитата(KLeonid @  12.3.2008,  07:09 Найти цитируемый пост)
А мне и на 4ке неплохо живется . И пока не собираюсь переходить на PHP5.

Недавно на башорге верно сказали: "Если бы все были такими, как ты - ты бы до сих пор в пещере сырое мясо ел".
Зачем стремиться к совершенству, если можно не стремиться smile (Чем-то напоминает фразу одного знакомого: "Зачем работать если можно не работать?")

Автор: nerezus 12.3.2008, 21:18
KLeonid, а то, что в нем не закрываются ошибки? )

Автор: MuToGeN 22.6.2008, 01:49
Цитата(Serkys @  12.3.2008,  13:13 Найти цитируемый пост)
Если бы все были такими, как ты - ты бы до сих пор в пещере сырое мясо ел

Возможны и другие причины - если тяжеловесный проект переводить с php4 на php5, то могут быть серьезные проблемы. Я сам когда-то с такими штуками сталкивался.

А по сабжу - ребята из Zend Development Team похоже по-тихоньку пытаются все свести к жестким правилам кодинга, и это ИМХО очень хорошо. Еще, ИМХО, в E_ALL не хватает бита E_STRICT, с этим криворуких программистов стало бы на порядок меньше.

Автор: Serkys 25.6.2008, 17:01
Цитата(MuToGeN @  22.6.2008,  02:49 Найти цитируемый пост)
ИМХО, в E_ALL не хватает бита E_STRICT, с этим криворуких программистов стало бы на порядок меньше. 

В php5.3 и php6 будет. Наконец то ))
Быдлосайты с "display_errors = 1" будут теперь не только варнинги с нотисами, но и стрикты выводить ))

Автор: Sniper 29.6.2008, 09:12
Цитата

Если вы еще не начали использовать 
$_GET и $POST, то начните делать это прямо сейчас, потому что в PHP 6 эти массивы 
будут вызывать E_CORE_ERROR.


Я сейчас пишу  
Код

if (isset ( $_POST['ok'] ) ) {}


как же тогда писать чтобы работало и в 5.2.x и в 6?

Автор: Feldmarschall 29.6.2008, 09:37
Sniper, как ты странно прочитал изначальный текст. Выбросив из него одно предложение.
прочитай ещё раз, целиком.

Автор: Sniper 29.6.2008, 09:57
Цитата(Feldmarschall @  29.6.2008,  06:37 Найти цитируемый пост)
как ты странно прочитал изначальный текст. Выбросив из него одно предложение.
прочитай ещё раз, целиком. 



т.е выбросят только $HTTP_GET_VARS и $HTTP_POST_VARS, а $_GET и $_POST $_SESSION $_FILE итп оставят в покое?

почему тогда написано : "Если вы еще не начали использовать $_GET и $POST, то начните делать это прямо сейчас..." ничего не понятно. если ещё не начали их использовать, то и не используйте....  smile 

Автор: Sannis 29.6.2008, 10:07
Цитата(Sniper @  29.6.2008,  09:57 Найти цитируемый пост)
т.е выбросят только $HTTP_GET_VARS и $HTTP_POST_VARS, а $_GET и $_POST $_SESSION $_FILE итп оставят в покое?

Да.
Цитата(Sniper @  29.6.2008,  09:57 Найти цитируемый пост)
ничего не понятно. если ещё не начали их использовать, то и не используйте....  smile 

Где написано "не используйте"? Как раз написано использовать их.

Автор: Sniper 29.6.2008, 10:18
Цитата(Sannis @  29.6.2008,  07:07 Найти цитируемый пост)
Где написано "не используйте"? Как раз написано использовать их.


/me ушёл за учебником по русскому языку ;-)

Автор: MuToGeN 11.7.2008, 04:44
Цитата(sTa1kEr @  11.1.2008,  13:38 Найти цитируемый пост)
Покопайтесь в мало известном расширении spl_types

Как там обстоят дела по апаратным ресурсам?
Я в свое время писал дополнительные тулзы на с/с++, если была нужна строгая типизация данных, для пересборки .swf например (там очень лютая, бешеная компрессия, на уровне каждого бита, не байта).

Автор: Vreden 8.12.2008, 22:16
PHP6?  Где? smile *потерял сознание

Автор: XedinUnknown 28.4.2009, 19:39
Оу.... Всё вроде бы радует. Я вообще полностью за искоренение криворуких. И то, что magic quotes и HTTP_*_VARS больше нету - это классно. Но я ожидал на много большего. Чтобы написать новую циферку (версию) чего-либо, необходимо внести качественно новые изменения, а не просто почистить движок от испражнений. 
Лично я хотел бы увидеть полную поддержку OO и OO стиля. Я понимаю, что для этого нужно коренным образом изменить движок, т.е. сделать проверку во время компилляции. Да, это сложно. Но тогда возникла бы возможность уверенно писать чистый и понятный, а главное - более правильный код. Изчезла бы целая куча if, (int) и тому подобного. Мы бы точно знали, что вводить, и что получим. Например, конструкция enum бы не повредила (как тип), а многие скажут "зачем, ведь есть массивы".
 Конечно, это отяжелит ядро, которое, кстати, можно сделать в двух версиях. Но любой код на weakly typed language - изначально несовершенен. Как может быть совершенным язык, в котором есть функция eval()..?? Она ведь сделана именно для того, чтобы обойти ограничения. А вот VB, например, может всё, даже если для этого понадобятся модули C++, но только изза недостатка функциональности на низких уровнях. 

Так что PHP6 - это, бесспорно, круто, но не впечатляет. Надеюсь, что в будущем всё будет иначе.

Автор: nerezus 28.4.2009, 20:36
Цитата

Лично я хотел бы увидеть полную поддержку OO и OO стиля. Я понимаю, что для этого нужно коренным образом изменить движок, т.е. сделать проверку во время компилляции. Да, это сложно. Но тогда возникла бы возможность уверенно писать чистый и понятный, а главное - более правильный код. Изчезла бы целая куча if, (int) и тому подобного. Мы бы точно знали, что вводить, и что получим. Например, конструкция enum бы не повредила (как тип), а многие скажут "зачем, ведь есть массивы".
 Это уже есть.
В консоли пишешь:
sudo apt-get remove php5
sudo apt-get install sun-java6-jdk
И пользуешься версией PHP под кодовым именем ЖАБА6.

Я серьезно. Это именно то, что ты хочешь, только мощнее.

Автор: XedinUnknown 29.4.2009, 09:55
На Java я писать ещё не готов  smile 

Автор: nerezus 1.5.2009, 13:23
Цитата

На Java я писать ещё не готов
 Почему тогда ты хочешь пхп превратить в клон джавы?

Если хочешь легкий и мощный язык с сильной типизацией - то это питон.

Автор: mogul82 26.11.2009, 20:52
А что слышно о сроках? А то нашел только снимок VC9 и и бета- VC6 в которой ни черта ни работает.

Автор: qpayct 23.2.2010, 10:43
интересно когда наконец будет поддержка 3D включена по умолчанию?? старый GD убирают - это есть хороший знак тому что всётки этот вопрос обдумывается.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)