PHP 5.3: что пых грядущий нам готовит?

февраля 22, 2008 by ptchink

То о чем так долго говорили большевики…

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

  /* Серое и унылое настоящее */ .  


 Людям, использующим в названии классов идеологию, схожую с идеологией Zend Framework, данная фича очень понравится. Возможно она “под него” и вводилась ;)  

 К сожалению не смог найти информацию о том, можно ли будет повесить обработчик на команду use, а следовательно анализировать и всячески инициализировать пространства.  

mysqlnd (MySQL native driver)

Наконец то в РНР появится замена для libmysql, причем “заточенная” под PHP на C-шном уровне. Напомню, что в самом начале 5-ой ветки libmysqli пришлось убрать из ядра по лицензионным соображениям. mysqlnd же выпускается под лицензией PHP . Вы наверное уже обрадовались, что из-за нового API, сможете выбить из начальства время на review всего кода, работающего с БД? К сожалению я не знаю код символа изображающего фигу, сейчас бы пригодился. mysqlnd это низкоуровневая С-шная библиотека для работы с базой данных, а не новое расширение для PHP. mysqlnd уже “понимает” API ext/mysqli, поддержка PDO/MySQL сейчас пишеться, а поддержки ext/mysql не будет. ######### Уже приведены бенчмарки , и их результаты мягко говоря радуют.

Позднее статическое связывание

Проще всего текущее бедственное состояние будет пояснить на примере:
   ActiveRecord  , и приводит к  использованию грязноватых хаков   ;) 


  ActiveRecord  :

  $posted_articles = Articles::findByIsPosted(true); $new_members = Member::findByRegistrationDateLessWhat($today);   

И все это без единой дополнительной строчки в классах Article и Member!

Когда же появиться нативная функция для преобразования camel case в underlines :(

Динамические вызовы статических методов

  $method = 'callAnotherTime'; FooFactory :: $method('Я вас каждый день вызывать буду!');   

Практического применения я вот так сходу найти не смог, но но думаю оно как суслик, я его не вижу, а оно есть

Новый уровень ошибок E_DEPRECATED

Новый уровень позволит заранее начать избавляться от функционала, который впоследствии не будет поддерживаться

Конфигурационные файлы

  • конфиги теперь можно делать для конкретной директории, а не использовать для этого .htaccess и php_value/php_admin_valie
  • в php.ini добавлены секции для конкретных директорий. Их опции не могут переопределяться ни в скриптах, ни в конфигурационных файлах директорий
  • сообщения об ошибках в конфигурационных файлах теперь более “говорящие”
  • добавлена поддержка ключей для массивов

Прочие изменения

  • в расширение openSSL добавленна поддержка алгоритма Диффи-Хеллмана , который необходим для тех, кто работает с OpenID.
  • функция get_opt() теперь кроссплатформенная
  • в расширение sqlite добавленна поддержка Sqlite3
  • сделано несколько улучшений в SPL
  • добавлена константа __DIR__, которая заменит dirname(__FILE__)

UPD : добавлена информация о __DIR__

Иcтoчник: PHP 5.3: что пых грядущий нам готовит?

Статьи по теме: что пых грядущий нам готовит

Posted in Новости |

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.