Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
253
Добавлен:
17.04.2018
Размер:
2 Мб
Скачать
☆

ИП. PHP 7. Борьба за скорость

МИЭТ, 2017

Рост производительности PHP в 50 раз за 13 лет (2004-2015).

Теперь, по видимому только JIT

5.0 — 4.43 — 1

5.3 — 0.86 — 5.2

5.6 — 0.36 — 12.3

7.0— 0.23 — 19.2

7.1— 0.09 — 49.2

7.2— 0.01 — 443*

* - с использованием JIT

ИП. Распространенность PHP

МИЭТ, 2017

Гипотеза — причина относительного падения распространенности PHP рост мобильных приложений

ИП. Язык PHP

МИЭТ, 2017

PHP является языком с динамической типизацией.

Это означает, что типы данных переменных: целый, вещественный, строковый и т. д. не указываются в явном виде при объявлении переменных как в C или Java, а определяются на этапе исполнения (интерпретации) программы.

В php исполняемый код отделяется от статического контента с помощью <? ?>

Пример:

<div id='Test'><h1>МИЭТ</h1> <? echo 'Лучший'; ?>

<hr>

Комментарии в PHP — стандартные: // и /* */

Пример:

<div id='Test'><h1>МИЭТ</h1> <?

// Однострочный комментарий

echo 'Лучший'; // Однострочный комментарий /*

Многострочный

комментарий

*/

?>

<hr>

ИП. Язык PHP. Простые типы данных

Объявление переменных

$a = 5; $b = $a;

$c = 'МИЭТ';

Константы

define(VUZ, 'МИЭТ'); echo 'Лучший ВУЗ - '.VUZ; VUZ = 'Оксфорд';

Определение типа переменных

$a = 5; // оператор echo выведет результат операции

echo is_numeric($a); //будет показано - 1 т.е. true $b = 'String';

echo is_numeric($b); //будет показано - "пусто" т.е. false

echo is_string($b); //будет показано - 1 т.е. true

Арифметические операторы и сложение (конкатенация) строк

$a = 5;

 

 

$b = 50;

 

 

$c = 'МИЭТ';

//

550

echo $a.$b."<br>";

echo $a+$b."<br>";

//

55

echo $a.$c."<br>";

// 5МИЭТ

echo $a+$c."<br>";

//

5

МИЭТ, 2017

//Лучший ВУЗ - МИЭТ

//будет ошибка

ИП. Язык PHP. Жесткие и символические ссылки

МИЭТ, 2017

/*

Жесткая ссылка задается присваиванием вида =& $b ссылается на $a и изменение $b - изменяет $a

*/

$a = 5; $b = &$a;

$b = 'МИЭТ';

echo "a=$a b=$b"; // a=МИЭТ b=МИЭТ

/*

Символическая ссылка задается добавлением $ перед переменной в этом случае значение переменной интерпретируется как имя перем $b ссылается на $a и изменение $b - изменяет $a

*/

$a = 5;

$c = 'a';

// a

echo $c;

echo $$c;

// 5 — т.е. получено значение переменной a

$$c = 'МИЭТ'; // изменит значение переменной a

echo $c;

// a

echo $$c;

// МИЭТ

ИП. Язык PHP. Сложные типы данных

МИЭТ, 2017

Массивы с числовыми индексами

$a = array(5, 'Привет', array('МИЭТ', 'ИПОВС'));

$a[3] = 'Проверка'; // Добавление / изменение по индексу array_push($a, array("Еще", "Элемент")); // Добавление в конец echo $a[0]; // 5

echo $a[1]; // Привет

echo $a[2][0].' '.$a[2][1]; // МИЭТ ИПОВС echo $a[4][0].' '.$a[4][1]; // Еще Элемент

Массивы с ключами (ассоциативные)

$a = array(

"Первый" => "МИЭТ",

"Втрой" => array("Еще", "Элемент"), "Еще один" => array(

"PostalCode" => 124498, "Address" => "Зеленоград"

)

);

$a["Новый"] = 'Проверка';

array_push($a, array("Еще", "Элемент")); // Добавит элемент с ключом '0' echo $a["Еще один"]["PostalCode"]; // 124498

echo $a["Новый"]; // Проверка

ИП. Язык PHP. Перебор элементов массива

МИЭТ, 2017

$a = array ("Первый", "Второй", "Третий");

for($j=0; $j<count($a); $j++) { echo $a[$j].", ";

}

// Выведет Первый, Второй, Третий

$a = array(

"Первый" => "МИЭТ",

"Втрой" => array("Еще", "Элемент"), "Еще один" => array(

"PostalCode" => 124498, "Address" => "Зеленоград"

)

);

foreach ($a as $key => $value) { echo $key." ".$value."<br>";

}

/* Первый МИЭТ

Втрой Array Еще один Array */

ИП. Язык PHP. Сравнение

МИЭТ, 2017

Сравнение простых типов

$a = "МИЭТ"; $b = 0;

if( $a == $b ) echo "Равны!"

1. Логические операции сравнения переменных в PHP аналогичны таким- же в других языках: !=, ==, <, >, <=, >=.

//«Равны!» т. к. приведение значения переменной $a к числу даст 0

2.Следует учитывать

Сравнение массивов

особенность

динамического

 

 

приведения типов в PHP

 

в о время операций

 

сравнения, которая

 

заключается в том, что

 

если один из операндов

 

число, то другой также

 

приводится к числу.

ИП. Язык PHP. Функции

МИЭТ, 2017

Функции в PHP устроены — просто. Объявление функции: function Имя(Аргументы) { тело } Для возврата значения из функции используется оператор return Значение;.

Пример работы с функцией

<?

 

 

$a = 'Test';

 

 

$b = 'МИЭТ';

 

 

echo Test($a, &$b);

// Success

echo $a;

// Test

 

echo $b;

// МИЭТ лучший!

function Test($c, $d, $e='') { // аргумент со значением по умолчанию можно не передавать

$c = 'Best';

$d .= ' лучший!'; // операция .= присоединят правый операнд к левому как строку $e = 'Success';

return $e;

}

?>

ИП. Язык PHP. Разделение длинного кода на файлы

МИЭТ, 2017

Длинный код удобно разделять на файлы. Для объединения кода файлов в PHP определены операторы include и require. Require требует обязательного наличия включаемого файла. При его отсутствии программа завершится с сообщением об ошибке - «не найден требуемый файл». Во избежании многократных включений одних и тех-же файлов в сложных программах рекомендуется использовать include_once и require_once. В этом случае, сколько бы включений не было — файл подгрузится в код только один раз.

Пример включения файлов с кодом

<?

// Файл functions.php в папке library относительно корня сайта

function Alert() { echo 'MIET';

}

?>

<?

// Файл index.php в корне сайта

require 'library/functions.php'; Alert(); // MIET

?>

Соседние файлы в папке Интернет технологии