Какова была Ваша любимая функция, которая была представлена в PHP 5.3? [закрытый]

9
задан 6 revs, 4 users 57% 18 April 2013 в 17:15
поделиться

10 ответов

Позднее статическое связывание! Наконец-то появился разумный способ "нормального" наследования (подобно C или Java).

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

  • имя таблицы
  • имена столбцов
  • отношения родитель-ребенок
14
ответ дан 4 December 2019 в 05:51
поделиться

Я думаю, что PHAR, Lambda и пространство имен. Эти функции кажутся интересными.

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

Я думаю, что следующая версия PDT поможет программированию на PHP 5.3.

2
ответ дан 4 December 2019 в 05:51
поделиться

Мне больше всего нравится то, что магические кавычки и регистровые глобалы были УСТАРЕВШИМИ .

Теперь любой дурак , все еще использующий их, получит предупреждение прямо в лицо :)

30
ответ дан 4 December 2019 в 05:51
поделиться

Лямбда лямбда лямбда! Определенно добавляет гибкости, которой раньше не хватало.

19
ответ дан 4 December 2019 в 05:51
поделиться

Не могу удержаться: Очевидно, что добавление GOTO - это самая большая вещь со времен нарезанного хлеба.

6
ответ дан 4 December 2019 в 05:51
поделиться

Определенно Phar файлы

6
ответ дан 4 December 2019 в 05:51
поделиться

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

http://ca2.php.net/lsb

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

3
ответ дан 4 December 2019 в 05:51
поделиться

PHP's DateTime-Classes for Timezone-aware Timestamps. Он существовал и раньше, но был значительно улучшен в версии 5.3.

5
ответ дан 4 December 2019 в 05:51
поделиться

Я понимаю, что вы сказали «один» и «нравится», но иногда один единственный ответ не помогает взглянуть на мнение в перспективе. В дикой природе вы можете не увидеть службы виртуального хостинга или команды разработчиков, использующие какие-либо дополнительные функции в течение многих лет, поэтому важность является субъективной. Они выбраны при сканировании журнала изменений PHP 5.3 . Я мог ошибаться относительно того, в какой версии эти функции впервые появились, но ...

  1. ?: Оператор: Ярлык для ярлыка: $ a = (($ a)? $ A: $ somethingelse) . Если $ a явно ложно, просто уступите его чему-нибудь другому: $ a = $ a?: $ Somethingelse ; Теперь просто ждем $ a? = $ Somethingelse; . Кроме того, это похоже на оператор «ИЛИ»: if ($ a?: $ Somethingelse) возвращает значение true, если значение $ a или $ somethingelse истинно. Избыточно, но есть.
  2. __ callStatic (): Теперь этот специализированный класс Singleton просто сведен к одному универсальному классу, вероятно, длиной в 5 строк кода.
  3. Для каждого каталога ini-файлов: Версия PHP файлов .htaccess. Хотя мне еще предстоит экспериментировать с тем, какие значения ini можно переключать и где.
  4. Дополнительные файловые функции и поддержка поиска DNS для WIN: по крайней мере, WIN должен подчиняться вашей команде, чтобы без вопросов создать `символическую ссылку` / ярлык, поскольку вы являетесь пользователем, запускающим сценарий.
  5. array_replace: В то время как $ a + $ b сохранил исходные значения, array_replace ($ a, $ b) заменяет их.
  6. Регистрация почты: Регистрация всех вызовов mail () для проверки того, был ли ваш сайт превращен в спам-бота. Хотя мне еще предстоит проверить это в реальных условиях, чтобы увидеть, какие именно почтовые функции подключены к (exec ()? Imap?).

Упущенные шансы:

  1. [ИСПРАВЛЕНО] Вызов метода с тем же именем, что и у родительского класса, вызывает конструктор: Это было бы полезно знать раньше. Думаю, это полезная «фишка».

Не любит:

  1. Mysqli все еще не работает.
  2. Отказ от WIN32api
  3. DOTNET () так и не улучшился и по-прежнему остается просто причудливым псевдонимом для COM (). Слухи о сотрудничестве PHP и WIN - всего лишь слухи.
6
ответ дан 4 December 2019 в 05:51
поделиться

Сначала я был рад появлению Lambda в PHP 5.3, но теперь, после нескольких месяцев разработки с 5.3 в повседневной работе, я обнаружил, что редко использую Lambda в PHP. В отличие от JavaScript, где я использую закрытия ВСЕ ВРЕМЯ.

Самая полезная для меня функция в 5.3 - это поздние статические привязки. Почти каждый раз, когда мне приходится разрабатывать что-то в 5.2, мне этого очень не хватает.

И для полноты картины: Худшая идея для 5.3 - это GOTO. 'Nuff said.

3
ответ дан 4 December 2019 в 05:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: