Сегодня 12 июля, суббота ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7281
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
RMCreative.ru - Блог
RMCreative.ru - Блог
Голосов: 1
Адрес блога: http://rmcreative.ru/feed/
Добавлен: 2008-06-12 21:34:00 блограйдером ZaiSL
 

Что нас ждёт в PHP 5.5

2012-10-16 06:01:08 (читать в оригинале)

PHP 5.5 планируется выпустить в Феврале-Марте 2013. Отвечать за релиз в этот раз будет Julien Pauli, который приедет на WebConf в ноябре.

Версия 5.5 будет обратно совместма с остальной линейкой 5.x, так что можно будет смело обновляться. Итак, интересности из транка, которые, возможно, попадут в 5.5.

foreachlist

Интересное добавление к синтаксису:

$users = array(
    array('Foo', 'Bar'),
    array('Baz', 'Qux');
);
 
// раскидываем массив в переменные
foreach ($users as $user) {
    list($firstName, $lastName) = $user;
    echo "First name: $firstName, last name: $lastName. ";
}
 
// а вот так можно будет в 5.5
foreach ($users as list($firstName, $lastName)) {
    echo "First name: $firstName, last name: $lastName. ";
}

generators

Генераторы — новый способ довольно сжато описывать эффективно работающие итераторы, используя минимум кода. Функция или метод, в котором встречается ключевое слово yield автоматически становится генератором:

function getLinesFromFile($fileName) {
    // на каждой итерации выполняем всё до первого yield
    if (!$fileHandle = fopen($fileName, 'r')) {
        return;
    }
 
    // 
    while (false !== $line = fgets($fileHandle)) {
        // то есть до сюда
        yield $line;
    }
 
    // а вот эта часть выполнится только когда не вызовется yield
    fclose($fileHandle);
}
 
// выполнения функции не происходит потому как внутри есть yield
$lines = getLinesFromFile($fileName);
 
foreach ($lines as $line) {
    // работаем с $line
}

Работает всё это довольно шустро.

hash_pbkdf2

Новая функция hash_pbkdf2 замедляет обычное хеширование (например, SHA-256) для того, чтобы сделать перебор достаточно трудоёмким занятием, которое может растянуться на десятилетия.

Данную тему я уже затрагивал.

Кстати, в документации к hash_pdkdf2 имеется замечание, что для паролей всё-таки лучше использовать crypt.

Упрощённый API для хеширования паролей

Так как хеширование паролей необходимо в большинстве приложений, разрабатываемых на PHP и при этом очень многие не понимают, как это сделать правильно, Anthony Ferrara, поработавший над RFC и реализацией, решил эту задачу упростить.

Вот так будет выглядеть сохранение пароля:

$password = "foo";
$hash = password_hash($password, PASSWORD_DEFAULT);
// записываем хеш в базу

А вот так его проверка:

// читаем хеш из базы
if (password_verify($password, $hash)) {
    // пароль верный
} else {
    // пароль не верный
}

Разыменование констант, строк и массивов

Можно будет так:

echo array(1, 2, 3)[0]; // 1
echo "foobar"[2]; // o
echo "foobar"["foo"][0] // f
 
echo [1,3,4][2]; // 4
 
echo ['a', 'b'][mt_rand(0, 1)]; // a или b

empty заработает с функциями

Это сильно упростит всем нам жизнь:

if(!empty($this->getPosts()) {
  // ...
}

Другие изменения (не факт, что все будут в 5.5)

  • Выкинули модификатор /e из preg_replace в пользу preg_replace_callback.
  • PHP 5.5 не будет работать на Windows XP и 2003.
  • Функция boolval. Аналог (bool).
  • Получение полного имени класса с namespace через FooBar::class.
  • Пропуск параметров функций.
  • Скалярный хинтинг для функций.
  • Свойства класса через геттеры и сеттеры.

Отдельно стоит отметить предложение улучшенной компиляции через построение AST. В 5.5 реализации точно не будет, но штука интересная.

Сейчас PHP компилируется по мере выполнения. Всё делается в один проход. В RFC предлагается перейти к двупроходной компиляции. Сначала парсер будет разбирать всё в дерево. Затем уже это дерево будет компилироваться. Посередине будет возможность засунуть разные хорошие оптимизации.

С одной стороны получаются дополнительные расходы на компиляцию, с другой, при использовании APC получается сильный выигрыш на более оптимальных инструкциях для Zend Engine.

Также данное изменение упростит код компилятора, что положительно скажется на дальнейшем развитии PHP.



Полезные плагины для PhpStorm

2012-10-16 04:19:04 (читать в оригинале)

Поделюсь тут списком того, что я использую с PhpStorm.

Дополнительные форматы файлов

  • BashSupport.
  • CMD Support.
  • Ini4Idea.
  • Markdown.
  • Apache Config (.htaccess) support.

Полезняшки

  • Scratch — не привязанный к проекту таб для заметок. Открывается нажатием ALT+C.
  • Tabdir.
  • LiveEdit — «живое» редактирование файла. Изменения отражаются в Chrome сразу же. Поддерживает и PHP в том числе.
  • Database Support, SQL Support — замечательная связка, практически позволяющая на пользоваться сторонним софтом для работы с SQL и базами данных.


WebConf Riga 2012

2012-10-12 01:06:19 (читать в оригинале)

10 и 11 ноября пройдёт взявшая в 2011-м перерыв WebConf Riga. В прошлый раз конференция прошла отлично.

WebConf 2012

В этот раз всё будет ещё интереснее:

  • Основной язык конференции сменился на английский.
  • Серверсайд-поток выглядит очень внушительно. Не менее интересны клиентсайд и бизнес.

Мой доклад будет также будет на английском и ориентировочно будет называться «Yii, frameworks and where PHP is heading to». Попытаюсь выразить мысли по поводу того, куда всё катится и что с этим делать. Ну и, думаю, без Yii не обойдётся.

Место проведения, как и в 2010, Tallink Hotel. Приходите, будет интересно.

Если будет желание пообщаться в перерывах или после конференции, пишите. Скорее всего, останусь в Риге на какое-то время.



Релизнулся Google mod_pagespeed

2012-10-12 00:44:20 (читать в оригинале)

О данном модуле для Apache 2.2, призванном полностью автоматически улучшить скорость загрузки страниц, я уже кратко упоминал. Занимается он тем, что перед отдачей в браузер жмёт картинки, оптимизирует CSS и JavaScript, отдаёт нужные заголовки для браузерного кеширования ресурсов и делает всякие не сильно распространённые оптимизации. После всё кешируется на диске.

  • Официальный анонс
  • Официальный сайт


Скрытые возможности инструментов разработчика Chrome

2012-10-05 13:17:50 (читать в оригинале)

Мегаполезная презентация о скрытых возможностях отладчика Chrome. Нашёл для себя несколько очень полезных штук и собираюсь попробовать оказавшийся очень простым API.

Рассматриваем



Страницы: ... 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 ... 

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по количеству голосов (152) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.