Изследване на PHP7

 

НАУЧНА КОНФЕРЕНЦИЯ НА МЛАДИТЕ ИЗСЛЕДОВАТЕЛИ
13 МАЙ 2016 г. ​

 

Научен консултант: доц д-р Златко Върбанов

 
Not signed in

За изследователя

 

специалност МП “Информационни системи“, ВТУ
 

"Клуб на програмиста" Велико Търново

 

Bulgaria PHP

 

PHP7

 

Важни промени

 
Not signed in
  • всички "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';

Spaceship operator 

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

Made with Slides.com