Изследване на PHP7
НАУЧНА КОНФЕРЕНЦИЯ НА МЛАДИТЕ ИЗСЛЕДОВАТЕЛИ
13 МАЙ 2016 г.
Научен консултант: доц д-р Златко Върбанов
За изследователя
специалност МП “Информационни системи“, ВТУ
"Клуб на програмиста" Велико Търново
Bulgaria PHP
PHP7
Важни промени
- всички "deprecated" конструкции са вече премахнати
- Perl Compatible Regular Expressions (PCRE)
- премахнато е стандартното разширение MySQL
- Unicode - „\u{FF}“ и „\u{00FF}“
Uniform Variable syntax
всички променливи се интерпретират и изпълняват от ляво на дясно
// Синтаксис
$$var['key1']['key2'];
// PHP 5.x:
// Използване на стойност от многомерен масив за име на променлива
${$var['key1']['key2']};
// PHP 7:
// Достъп до многомерен масив като името на масива се взема от променлива
($$var)['key1']['key2'];
Нови оператори
Null Coalesce Operator - ??
$username = $_GET['user'] ?? 'nobody';
// еквивалент:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
Фатални изключения
всички изключения може да се прихващат и да се обработват
Допълнителна функционалност
interface CustomExceptionInteface extends \Throwable {
...
}
class CustomException
extends \Exception implements CustomExceptionInteface
{
// implement interface methods
}
Типове данни
- Coercive Types
- Strict Types
function hinted(bool $a, float $b, int $c, string $d)
{
}
hinted(true, 4.35, 123, "foo");
function divide(int $a, int $b): int
{
return $a / $b;
}
Тестова постановка
- - Vagrant (michaelward82/precise64-php7 )
- zf2-skeleton app - - ab test - 1000 заявки
Резултати
Резултати
PHP 5.6
PHP 7
Благодаря за вниманието
Източници
-
Davey Shafik. Upgrading to PHP7. O'Reilly Media, 2016.
-
Steve Prettyman, Learn PHP 7: Object Oriented Modular Programming using HTML5,
CSS3, JavaScript, XML, JSON, and MySQL. Apress, 2016.
-
http://php.net/migration70
НАУЧНА КОНФЕРЕНЦИЯ НА МЛАДИТЕ ИЗСЛЕДОВАТЕЛИ
By Lyubomir Filipov
НАУЧНА КОНФЕРЕНЦИЯ НА МЛАДИТЕ ИЗСЛЕДОВАТЕЛИ
учебен корпус 3 на ВТУ, аудитория “Джон Атанасов“
- 1,203