php basic

35
PHP basic Web Карнаухов Даниил

Upload: noveo

Post on 14-Apr-2017

69 views

Category:

Education


4 download

TRANSCRIPT

Page 1: PHP basic

PHP basicWeb

Карнаухов Даниил

Page 2: PHP basic

Компилятор. Интерпретатор.Компилятор - трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера).

Интерпретатор - пооператорный (покомандный, построчный) анализ, обработка и тут же выполнение исходной программы или запроса (в отличие от компиляции, при которой программа транслируется без её выполнения).

Page 3: PHP basic

PHP теги. Встраивание кода в html.<html><head>

<title>PHP теги. Встраивание кода в html.</title></head><body>

<p><?php echo 'Hello world'?>

</p></body></html>

<?= 'short tag' ?>

<? echo 'Hello world' ?>

Page 4: PHP basic

Комментарии.// Это однострочный комментарий, он комметирует все, что находится за ним и до конца строки/* Это многострочный комментарий Все, что находится между символами - не будет исполняться или отображаться.*/# Это комментарий в стиле оболочки Unix

Page 5: PHP basic

Переменные.Переменные в PHP представлены знаком доллара с последующим именем переменной.Имя переменной чувствительно к регистру.$x = 5;$salary = 12500.00;$BIG_NUMBER = 100000;$big_number = 500000;$4site = 123;$русский = true;

Page 6: PHP basic

Типы данных.Boolean - логическое значение, true или false.Integer - целочисленное значение. Граничные значения есть в PHP константах PHP_INT_MAX и PHP_INT_MIN.Float - он же double, число с плавающей точкой.

String - строки.

Array - массивы.

Object - объекты.

Resource - ресурсы.

NULL - null.

Page 7: PHP basic

Функции var_dump() и print_r()$number = 1;

var_dump($number);

$string = 'Hello world';

print_r($string);

Page 8: PHP basic

Арифметические операции

Page 9: PHP basic

Ссылки.$a = 3;$b = &$a; // $b - это ссылка на a

echo $a; // выводит 3echo $b; // выводит 3

$a = 4; // меняем значение в переменной $a

echo $a; // выводит 4echo $b; // выводит 4

Page 10: PHP basic

Операторы сравнения

Page 11: PHP basic

Операторы инкремента и декремента

Page 12: PHP basic

Логические операторы

Page 13: PHP basic

СтрокиОбъявление через двойные или одинарные ковычки.

$string1 = 'Hello world';$string2 = "Hello world";

echo $string1;echo $string2;

echo 'Это выведет название переменной $string1';echo "Это выведет содержание переменной $string2";

Page 14: PHP basic

Синтаксис HEREDOC и NOWDOC$string1 = <<<HEREDOCHello world!Hello world!HEREDOC;

$string2 = <<<'NOWDOC'Hello world!Hello world!NOWDOC;

Page 15: PHP basic

Функции для работы со строками.Конкатенация - соединение строк.

$string1 = 'Hello';$string2 = 'world';echo $string1 . ' ' . $string2;Определение длины строки - strlen($string).

$string1 = 'Hello';echo strlen($string1);

Page 16: PHP basic

Выделение подстроки - substr($string, $start [, $length])$string1 = 'Hello';echo substr($string1, 1); // elloecho substr($string1, 1, 2); // el

Поиск подстроки - strpos($haystack, $needle, [, $offset])

$where = 'Hello';$find = 'el';$find2 = 'world';

echo strpos($where, $find);echo strpos($where, $find2);

Page 17: PHP basic

МассивыМассив - это набор элементов, к каждому из которых можно обратиться по индексу или имени. Все массивы в PHP являются ассоциативными, т.е. остоят из пар "ключ"="значение".Объявление массивов:

$array = array( "foo" => "bar", "bar" => "foo",);

// Начиная с PHP 5.4$array = [ "foo" => "bar", "bar" => "foo",];

Page 18: PHP basic

$array = [1, 2, 3, 4, 'wow_string_O_o'];echo $array[1]; // 2

$array = [ 'string', 0 => 'null index', 3 => 'third index',];print_r($array); // ???

$userArray = [ 1, 'key' => 'auynx2p318jnasd', 'login' => 'admin',];

Page 19: PHP basic

Операторы для работы с массивами

Page 20: PHP basic

Функции для работы с массивамиcount($array [, $mode]) - размер массива

$array = [1, 2, 3, 4];echo count($array); // 4array_merge($array1 [, $array2 ...]) - перемешивание двух и более массивов$array1 = [1, 2, 3, 4];$array2 = [5, 6, 7, 8];$array3 = array_merge($array1, $array2); // 1, 2, 3, 4, 5, 6, 7, 8

in_array($needle, $haystack [, $strict]) - проверяет, есть-ли в массиве значение

$array = ['Hello', 'world'];var_dump(in_array('world', $array));var_dump(in_array('test', $array));

Page 21: PHP basic

key_exists($key, $array) - проверяет, есть-ли в массиве указанный ключ

$array = ['Hello' => 1, 'world' => 2];var_dump(key_exists('Hello', $array));var_dump(key_exists('test', $array));

sort(&$array [, $sort_flag]) - сортирует массив по возрастанию

$array = [2, 5, 6, 11, 8];sort($array);var_dump($array);

Page 22: PHP basic

Условия.Условная конструкция if / if-else / if-elseif-else

$a = 13;

if ($a != 13) { echo 'var != 13';} else { echo 'var == 13';}if ($a == 13) { echo 'var == 13';} else if ($a > 13) { echo 'var > 13';} else { echo ' ... ';}

Page 23: PHP basic

Switch$a = 'Hello';

switch($a) { case 'Hello' : { echo $a . ' world'; break; } case 'world' : { echo 'Hello ' . $a; break; } default: { echo 'Hello world and ' . $a; }}

Page 24: PHP basic

Тернарный операторСхема: логическое выражение ? выражение1 : выражение2.

$date = isset($_GET['start_date']) ? $_GET['start_date'] : null;

$age = rand(200);

$message = ($age < 3) ? 'Здравствуй, малыш!' : ($age < 18) ? 'Привет!' : ($age < 100) ? 'Здравствуйте!' : 'Какой необычный возраст!';

Page 25: PHP basic

Циклы.for ($expr1; $expr2; $expr3) - выполняется, пока истинно выражение $expr2.foreach ($array_expr as $value) / foreach ($array_expr as $key => $value) - перебирает все элементы из массива $array_expr.while ($expr) - выполняется, пока истинно выражение $expr.

do { … } while ($expr) - Выполняется один раз и далее, пока истинно выражение $expr.

Page 26: PHP basic

for ($iterator = 0; $iterator < 100; $iterator++) { echo $iterator; if (($iterator % 10) == 0) continue; if ($iterator == 89) break;}

$array = [1, 2, 3, 4 ,5];foreach ($array as $value) { echo $value;}

$array = [ 'id' => 13, 'login' => 'admin', 'key' => 'x1m389kqwejnxqjkw',];foreach ($array as $key => $value) { echo $key . ' : ' . $value;}

Page 27: PHP basic

$age = 0;while ($true) { echo 'age: ' . $age; $age++;

if ($age == 6) { echo 'Go to school'; break; }}$age = 0;do { echo 'age: ' . $age;} while ($age > 18);

Page 28: PHP basic

Функции exit() и die()Функции exit($string) и die($string) - эквивалентны. Они выводят сообщение, переданное в них и прекращают работу скрипта.

die('exit');exit('something wrong');exit;die;

Page 29: PHP basic

Require и Includeinclude “file” / include(“file”) - подключает и выполняет указанный файл.

include "3.php";echo 'Мы вывели содержимое файла 3.php';

require “file” / require(“file”) - аналог функции include.

require "3.php";echo 'А затем еще раз подключили и вывели файл 3.php';

Page 30: PHP basic

eval в phpeval ($code) - выполняет произвольный php-код переданный в строке $code.eval('echo "Hello world";');

eval('$a=4;$b=isset($_GET[\'login\'])?strrolower($_GET[\'login\']):\'admin\';if($b!=\'admin\'){echo $b}else{echo $a}');$authEntity = [ 'type' => 'ROLE', 'description' => 'auth entity for user', 'bizRule' => 'if ($data->user_access_type == 4) return true; else return false;'];

Page 31: PHP basic

isset и unsetisset ($var) - проверяет, была-ли определена переменная $var со значением отличным от null.

$var = 1;var_dump($var); // truevar_dump($var1); // falseunset ($var) - удаляет переменную $var.

$arr = [ 'id' => 1, 'login' => 'admin', 'key' => 'x1m2391x3',];var_dump($arr);unset($arr['key']);

Page 32: PHP basic

Глобальные переменныеПеременные, которые доступны всей программе, включая подпрограммы (пользовательские функции). Чтобы сделать переменную глобальной, необходимо добавить ключевое слово global.

$SECONDS_IN_MINUTE = 60;global $SECONDS_IN_MINUTE;

Суперглобальные переменные: $GLOBALS, $_SERVER, $_GET, $_POST, $_FILES, $_COOKIE, $_SESSION, $_REQUEST, $_ENV.

echo $_SERVER['REMOTE_ADDR'];echo $_SERVER["REDIRECT_STATUS"] ;

Page 33: PHP basic

Дата и время в php.date($format [, $timestamp]) - возвращает строку которой соответствует передданое время. $format - задает формат возвращаемой даты, $timestamp - метка времени в форматe unixtime.

strtotime($time [, $now]) - возвращает метку времени в формате unixtime. $time - строка обозначающее время относительно текущего времени

$date = date('Y-m-d H:i:s');$date = date('Y-m-d H:i:s', strtotime('+ 1 hour'));

date_default_timezone_set ($timeZone) - устанавливает переданную временную задану.

Page 34: PHP basic

Константыdefine('SECONDS_IN_MINUTE', 60);define('DAY_IN_YEAR', 365);echo SECONDS_IN_MINUTE;echo DAY_IN_YEAR;

const DAY_IN_WEEK = 7;const HOUR_IN_DAY = 24;echo DAY_IN_WEEK;echo HOUR_IN_DAY;

Page 35: PHP basic

Спасибо за внимание.