Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PHP 6

278
30 июля 2011 года
Alexander92
1.1K / / 04.08.2008
По мотивам темы про PHP и статические методы. Кто чего думает про PHP 6? Как относитесь к тем нововведениям, которые там анонсируют?
274
30 июля 2011 года
Lone Wolf
1.3K / / 26.11.2006
еще не интересовался. кратко сюда можно?
278
30 июля 2011 года
Alexander92
1.1K / / 04.08.2008
Попробую.

1. Окончательный отказ от register_globals и устаревших массивов вида HTTP_*_VARS.
2. Исключение magic quotes.
3. Отсутствие safe mode.
4. Больше не будет возврата по ссылке.
5. XMLReader и XMLWriter войдут в дистрибутив по умолчанию. В свою очередь, ereg будет перемещен в PECL.
6. foreach будет приспособлен для работы с многоуровневыми массивами.
7. Из функций будут возвращаться типизированные значения (вопрос не решен до конца).
8. Добавлена аналогия конструкции goto ("labeled break").
9. Будет всегда включена поддержка FastCGI.
10. Собственно, почему я сказал, что эта тема по мотивам темы про статические функции: "Вызов динамических функций как статических приведет к E_FATAL".
11. Вопрос о кодировке строк будет решаться на уровне сервера (либо все строки binary, либо все строки unicode).

Вроде основное перечислил... Подробности - вот и вот.
274
30 июля 2011 года
Lone Wolf
1.3K / / 26.11.2006
1,2,3 - логично
4. жаль. иногда использывал.
5. фиолетово - надо доставляешь. хотя если пхп-компилишь сам, то проблемней.
6. Интерестно будет глянуть
7. Спорно, очень спорно.. Зачем?
8. о_О
9. и хорошо
10. ну и правильно

Вобщем ничего особо примечательного нету..
278
30 июля 2011 года
Alexander92
1.1K / / 04.08.2008
Не то, чтобы ничего примечательного... Просто как-то не усматриваю общую концепцию развития языка, если честно. Какие-то обрывочные модификации (кроме, действительно, 1,2,3, которые уже давно наболели).
274
30 июля 2011 года
Lone Wolf
1.3K / / 26.11.2006
ну как біло написано по ссылке, основное направление - это отказ от depricated, которое очень не логично..
278
30 июля 2011 года
Alexander92
1.1K / / 04.08.2008
А к чему тогда типизация? К чему goto? На самом деле, типизация - дело хорошее, но ее нужно тогда иначе делать - как-то масштабнее, что ли. В рамках общей логики языка.
271
30 июля 2011 года
MrXaK
721 / / 31.12.2002
самое полезное, имхо, что можно будет писать someFunc($a, $b)[0] а не создавать промежуточную переменную как ранее
8
30 июля 2011 года
mfender
3.5K / / 15.06.2005
Цитата: Alexander92
1. Окончательный отказ от register_globals и устаревших массивов вида HTTP_*_VARS.


наконец-то!!! А то такая ахинея порой написана.

Цитата: Alexander92

2. Исключение magic quotes.


вот это совсем не понятно…

Цитата: Alexander92

4. Больше не будет возврата по ссылке.


Интересно, кто ж мне его запретит? И каким макаром?

Цитата: Alexander92

В свою очередь, ereg будет перемещен в PECL.


Дожили таки? Собственно, я ещё лет пять назад об этом предупреждал любителей пейсать ereg, а не preg ))))

Цитата: Alexander92

6. foreach будет приспособлен для работы с многоуровневыми массивами.


Вообще не представляю, что это такое. Цикл - он и в африке цикл. При чём тут многоуровневые массивы?

Цитата: Alexander92

7. Из функций будут возвращаться типизированные значения (вопрос не решен до конца).


И не решат. Это же PHP. Мы тут копья ломаем за типы данных, поэтому PHP никогда не откажется от строки.

Цитата: Alexander92

8. Добавлена аналогия конструкции goto ("labeled break").


И вот нахрена? Для школьников, постигавших программиорование на Basic'е?

278
30 июля 2011 года
Alexander92
1.1K / / 04.08.2008
Цитата: mfender

[QUOTE=Alexander92]
2. Исключение magic quotes.


вот это совсем не понятно…
[/QUOTE]
Аналогично... Разве что из соображений удобства. Ибо ходить повсюду с парой stripslashes() / addslashes() - тоже не самая приятная деятельность.

[QUOTE=mfender]
[QUOTE=Alexander92]
4. Больше не будет возврата по ссылке.
[/QUOTE]
Интересно, кто ж мне его запретит? И каким макаром?
[/QUOTE]
А вот таким: "'$foo =& new StdClass()' и 'function &foo' теперь вызовут ошибку уровня E_STRICT."


[QUOTE=mfender]
[QUOTE=Alexander92]
6. foreach будет приспособлен для работы с многоуровневыми массивами.
[/QUOTE]
Вообще не представляю, что это такое. Цикл - он и в африке цикл. При чём тут многоуровневые массивы?
[/QUOTE]
А вот вроде как будет конструкция вида

 
Код:
foreach( $a as $k => list($a, $b)) { ... }

Хотя как по мне - удобство сомнительное.
278
30 июля 2011 года
Alexander92
1.1K / / 04.08.2008
Цитата: Mr.Hacker
самое полезное, имхо, что можно будет писать someFunc($a, $b)[0] а не создавать промежуточную переменную как ранее



Да, только добавьте к этому удобству еще ряд труднодиагностируемых ошибок, которые оно повлечет. Так что тоже еще думать надо, на самом деле, насколько это хорошо.

8
30 июля 2011 года
mfender
3.5K / / 15.06.2005
Цитата: Alexander92
А вот таким: "'$foo =& new StdClass()' и 'function &foo' теперь вызовут ошибку уровня E_STRICT."


неправда. Все эти апостроыф перед new игнорируются с самого начала PHP5. Ибо в пресловутая $foo == ссылка на объект, либо null изначально. Это только в четвёртом PHP "ссылки" в виде апострофа ставились непосредственно перед переменной. В PHP5 сразу ссылки делались только в функциях/методах, а переменной создаваемый объект передаётся ссылкой.

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

278
30 июля 2011 года
Alexander92
1.1K / / 04.08.2008
Ну стало быть, просто ликвидировали устаревший синтаксис, если так. Этот момент я упустил, действительно.
8
30 июля 2011 года
mfender
3.5K / / 15.06.2005
Цитата: Alexander92
Ну стало быть, просто ликвидировали устаревший синтаксис, если так. Этот момент я упустил, действительно.


Ликвидировали. Они об этом анонсировали ещё в 2005-м году. Даже была небольшая паника. Но потом успокоили всех, сказали, что в PHP5 всё будет актуально. Но насчёт ereg предупредили честно. Это да. А ссылки на переменные пропали сразу. Только E_Notes выпадать стали часто в случае, когда апостроф написан непосредственно перед переменной. Но в целом, всё работало и работает нормально.

У меня вон два сайта ещё вообще на PHP3 писанные есть, на PHP4 доделанные, и на PHP5 уже частично переделанные. Надо бы порядок наводить. Сайтам уже скоро 12 лет сполнится )))))

8
30 июля 2011 года
mfender
3.5K / / 15.06.2005
Вот только был какой-то глючок характерный с этими ссылочными параметрами… Уже не вспомню какой. Это ещё то коматоза было. Кажется, если ссылку на ссылку передаёшь, то потом получается результат не затрагивает самую первую переменную, она не является ссылочной, а дублируется, и на выхлопе функции только можно результатом пользоваться было. И было это ещё в PHP 5.0, а дальше я как-то потерялся. Но видимо всё встало на рельсы. Вобщем, тот инфаркт плохо помню. Давно было. И давно уже пора всё переделать. А переделывать много.
274
30 июля 2011 года
Lone Wolf
1.3K / / 26.11.2006
Цитата: mfender
Вот только был какой-то глючок характерный с этими ссылочными параметрами… Уже не вспомню какой. Это ещё то коматоза было. Кажется, если ссылку на ссылку передаёшь, то потом получается результат не затрагивает самую первую переменную, она не является ссылочной, а дублируется, и на выхлопе функции только можно результатом пользоваться было. И было это ещё в PHP 5.0, а дальше я как-то потерялся. Но видимо всё встало на рельсы. Вобщем, тот инфаркт плохо помню. Давно было. И давно уже пора всё переделать. А переделывать много.


ты об этом?

 
Код:
$a = аrray(1=>10, 2=>20, 3=>30);
$b = &[1];
$a[1] =[2];
[1] = &$a[3];
echo $b;

Сначала $b ссылается на значение $a[1] и равно 10. Затем в $a[1], а значит и в $b, копируется значение 20. Далее $a[1] становится ссылкой на другое значение, поэтому связь между $a[1] и $b разрывается. В $b остается 20.
8
30 июля 2011 года
mfender
3.5K / / 15.06.2005
Цитата: Lone Wolf
ты об этом?


Нет, я об другом:

 
Код:
class c{
  public function DoParam(&$param){
    return ++$param;
  }
}

$a = 1;
$b = new c;
$c = $b->DoParam(&$a);

Так вот в этом случае $c будет таки 2, а $a, как ни странно, так и останется 1.
В нонешней версии PHP всё нормально. $a тоже равно 2.
271
30 июля 2011 года
MrXaK
721 / / 31.12.2002
Цитата: Alexander92

А вот вроде как будет конструкция вида
 
Код:
foreach( $a as $k => list($a, $b)) { ... }

Хотя как по мне - удобство сомнительное.


судя по питону, который пришлось выучить на новой работе, это всё прекрасно работает)) в питоне for i, j in arr: выручает))

Цитата: Alexander92
Да, только добавьте к этому удобству еще ряд труднодиагностируемых ошибок, которые оно повлечет. Так что тоже еще думать надо, на самом деле, насколько это хорошо.


опять же в том же питоне это помогает))
из реального кода - есть функция, возвращающая цвет, там 2 поля - цвет в RGB и название.. в пхп сейчас пришлось бы создавать переменную под возврат функции и брать потом у неё значение.. а тут я могу написать:
clr = self.organs.getColor(name=self.organType)['colorTuple']
ошибки тут (если я ключ, например, укажу неправильно) тут же и вылезут.. и без всякой трудной диагностики))

278
03 августа 2011 года
Alexander92
1.1K / / 04.08.2008
Цитата:

В прошлые выходные Филип Олсон отправил в список рассылки php-internals предложение о начале постепенного ухода от расширения mysql в будущих версиях php. Это, однако, не означает, что mysql уже не будет в PHP 5.4, но с версии 5.5 уже начнётся работа по обновлению документации и добавлению E_DEPRECATED ошибок к функциям mysql.

В качестве замены текущему нативному расширению предпологается использовать расширение mysqli или PDO, а возможно mysqlnd.

В результате, в будущих версиях PHP5 (начиная с 5.5 или 5.6) вызовы таких функций, как mysql_pconnect, mysql_query и так далее будут пораждать весьма неприятные уведомления E_DEPRECATED, а уже в версии PHP 6 код этих функций будет, скорей всего, полностью удалён из PHP.


А вот такие новости вам как? =)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог