Лекция 13 РНР –Что такое РНР? –Некоторые преимущества РНР. –Синтаксис и грамматика.

Презентация:



Advertisements
Похожие презентации
Практическое занятие 6. Функции. Большинство языков программирования используют понятия функции и процедуры. C++ формально не поддерживает понятие процедуры,
Advertisements

Переменные и операторы УРОК 2. Переменные ПЕРЕМЕННАЯ – ?... контейнер для хранения данных. Переменная имеет имя – это….? последовательность букв, цифр.
Тема: язык PHP Изучить теоретические основы языка PHP, назначение PHP и MySQL, способы задания переменных, функций. Определить что необходимо для начала.
Тема: массивы в PHP Изучить возможности языка PHP при решении задач, требующих использования массивов. Рассмотреть примеры использования массивов при создании.
УКАЗАТЕЛИ. Переменная - это именованная область памяти с заданным типом. [=значение]; int a; //Переменная типа integer с именем a int b=2;// Переменная.
Объектно-ориентированный язык программирования. Переменная - эта поименованная ячейка памяти, хранящая какое-либо одно значение (одно число, один фрагмент.
Базы данных и технологии баз данных, использующие объектную модель или ее элементы.
Основы информатики Лекция. Функции Заикин Олег Сергеевич
©Павловская Т.А. (СПбГУ ИТМО) Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Функции Функция – именованная последовательность описаний и операторов, выполняющая некоторое действие. Может иметь параметры и возвращать значение. Функция.
PHP PHP (Hypertext Preprocessor) Язык программирования общего назначения, применяемый для разработки веб-приложений.
МАССИВЫ 4 Определение 4 Описание 4 Обращение к элементам массива 4 Связь массивов с указателями 4 Примеры программ.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Введение в Java Script УРОК 1. Пример ПЕРВЫЙ Открыть программу блокнот и записать следующую команду: Сохранить файл С расширением JS загрузить файл Двойным.
Лекция 4 Программирование на Паскале. Элементы языка Турбо Паскаль 7.0. Типы данных. Управляющие конструкции.
План-конспект урока (информатика и икт, 9 класс) по теме: Переменные:тип, имя, значение
Объектно-ориентированное программирование С++. Лекция 6 Карпов В.Э.
Тема урока Переменная. Тип данных. Ввод и вывод данных.
РНР Изучение языка. Программирование интерактивных WEB-сайтов на языке PHP.
Основы ООП и C# Работа с объектами и классами. Классы Класс специальный тип данных для описания объектов. Он определяет данные и поведение типа. Определение.
Транксрипт:

Лекция 13 РНР –Что такое РНР? –Некоторые преимущества РНР. –Синтаксис и грамматика.

Что такое РНР? РНР это серверный язык создания сценариев, разработанный специально для Web. В HTML-страницу можно внедрить код РНР, который будет выполняться при каждом ее посещении. Код РНР интерпретируется Web-сервером и генерирует HTML или иной вывод, наблюдаемый посетителем страницы. Разработка РНР была начата в 1994 г. и внача- ле выполнялась одним человеком, Расмусом Лердорфом (Rasmus Lerdorf).

Что такое РНР? РНР это продукт с открытым исходным кодом (Open Source). У пользователя имеется доступ к исходному коду. Его можно использовать, изменять и свободно распространять другим пользователям или организациям. РНР означает РНР Hypertext Preprocessor (Препроцессор гипертекста РНР). В настоящее время основной версией РНР является четвертая. Адрес начальной страницы для РНР

Некоторые преимущества РНР К числу конкурентов РНР относятся Perl, ASP, Java Server Pages (JSP) и Allaire Cold Fusion. РНР обладает множеством преимуществ по сравнению с этими продуктами: –Высокая производительность –Наличие интерфейсов ко многим различным системам баз данных –Встроенные библиотеки для выполнения многих общих задач, связанных с Web –Низкая стоимость –Простота изучения и использования –Переместимость –Доступность исходного кода

Синтаксис и грамматика. Синтаксис PHP заимствован непосредственно из C. Java и Perl также повлияли на синтаксис данного языка. Есть 4 способа выхода из HTML и перехода в "режим PHP кода": echo ("некоторые редакторы не любят обрабатывающие инструкции"); 4.

Разделение инструкций. Типы переменных. Инструкции разделяются также как в C или Perl - точкой с запятой. Закрывающий тэг (?>) тоже подразумевает конец утверждения, поэтому следующие записи эквивалентны: – PHP поддерживает переменные типов: –integer - целое –double - число с дробной частью –string - строковая переменная –array - массив –object - объектная переменная –pdfdoc - PDF-документ (только при наличии поддержки PDF)

Типы переменных. Тип переменной обычно не устанавливается программистом; вместо этого, он определяется в зависимости от контекста, в котором она используется. Чтобы указать тип переменной непосредственно, используйте инструкцию cast либо функцию settype(), но учтите, что переменная может вести себя по-разному, в зависимости от того, какой тип определен для нее в данное время. Инициализация переменной. Для инициализации переменной в PHP вы просто присваиваете ей значение. Для массивов и объектных переменных, однако, может использоваться несколько иной механизм.

Инициализация массивов. Массив может инициализироваться одним из двух способов: последовательным присвоением значений, или посредством конструкции array(). При последовательном добавлении значений в массив вы просто записываете значения элементов массива, используя пустой индекс. Каждое последующее значение будет добавляться в качестве последнего элемента массива. $names[] = "Jill"; // $names[0] = "Jill" $names[] = "Jack"; // $names[1] = "Jack" Как в C и Perl, элементы массива нумеруются, начиная с 0, а не с 1.

Инициализация объектов. Для инициализации объектной переменной используйте новое предписание для сопоставления данного объекта объектной переменной. class foo { function do_foo () { echo "Doing foo."; } } $bar = new foo; $bar -> do_foo ();

Область переменной. Областью переменной является контекст, внутри которого она определена. Любая переменная, определенная внутри функции, по умолчанию ограничена локальной областью функции. Например: $a = 1; /* глобальная область */ Function Test () { echo $a; /* ссылка на переменную локальной области */ } Test (); Этот скрипт не выдаст что-либо на выходе, поскольку инструкция echo относится к локальной версии переменной $a, значение которой присваивается не внутри этой области.

Область переменной. Здесь имеется отличие от языка C, в том, что глобальные переменные в C автоматически действуют и внутри функций, если только не переписываются локальными определениями. В PHP глобальные переменные должны быть продекларированы глобально внутри функции, если предполагается их использование в данной функции. Например: $a = 1; $b = 2; Function Sum () { global $a, $b; $b = $a + $b; } Sum (); echo $b; Этот скрипт выдаст значение "3".

Глобальные переменные Поскольку $a и $b декларируются глобально внутри функции, ссылки на них трактуются как ссылки на их глобальные версии. Вторым способом доступа к глобальным переменным является использование определяемого PHP массива $GLOBALS: $a = 1; $b = 2; Function Sum () { $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"]; } Sum (); echo $b; Массив $GLOBALS является ассоциативным, в котором имя глобальной переменной является ключом, а значение этой переменной является значением элемента массива.

Статическая переменная Статическая переменная существует только в локальной области функции, но она не теряет своего значения, когда программа, при исполнении, покидает эту область: Function Test () { static $a = 0; echo $a; $a++; } При вызове функции Test() она будет выводить значение $a и увеличивать его.

Статическая переменная Статические переменные также весьма существенны, когда функции вызываются рекурсивно. Составлять рекурсивную функцию нужно внимательно, т.к. при неправильном написании можно сделать рекурсию неопределенной. Следующая простая функция рекурсивно считает до 10: Function Test () { static $count = 0; $count++; echo $count; if ($count < 10) { Test (); } $count--; }

Изменяемые переменные. Иногда бывает удобно давать переменным изменяемые имена. Такие имена могут изменяться динамически. Изменяемая переменная берет некое значение и обрабатывает его как имя переменной. В примере значение hello может быть использовано как имя переменной, посредством применения двух записанных подряд знаков доллара, т.е.: $a = "hello"; $$a = "world"; Две переменных определены и сохранены в символьном дереве PHP: $a с содержимым "hello" и $hello с содержимым "world".

Изменяемые переменные. Так, инструкция echo "$a ${$a}"; осуществляет то же самое, что и инструкция: echo "$a $hello"; а именно, обе они выводят: hello world. Чтобы использовать изменяемые переменные с массивами, решите проблему неоднозначности. Это означает, что если вы пишете $$a[1], то синтаксическому анализатору необходимо знать, имеете ли вы в виду использовать $a[1] как переменную, или вы предполагаете $$a как переменную, а [1] как индекс этой переменной. Синтаксис для разрешения неоднозначности такой: ${$a[1]} для первого случая и ${$a}[1] для второго.

Переменные вне PHP. Когда программой-обработчиком формы является PHP-скрипт, переменные этой формы автоматически доступны для данного скрипта PHP: Name: При активизации формы PHP создаст переменную $name, значением которой будет то содержимое, которое было введено в поле Name данной формы.

Переменные вне PHP. PHP также воспринимает массивы в контексте переменных формы, но только одномерные: Name: Beer: Warthog Guinness

Имена переменных рисунка активизации При активизации (запуске) формы можно использовать рисунок (изображение) вместо стандартной кнопки запуска: Когда пользователь нажимает кнопку мыши где-либо над таким рисунком, сопровождающая форма передается на сервер с двумя дополнительными переменными, sub_x и sub_y. Они содержат координаты места нажатия кнопки мыши пользователем внутри данного рисунка.

Переменные окружения. PHP автоматически создает переменные окружения, как и обычные переменные. echo $HOME; /* Показывает переменную HOME, если она установлена.*/ Хотя при поступлении информации механизмы GET, POST и Cookie также автоматически создают переменные PHP, иногда лучше явным образом прочитать переменную окружения, для того чтобы быть уверенным в получении ее правильной версии. Для этого может использоваться функция getenv(). Для установки значения переменной окружения пользуйтесь функцией putenv().

Изменение типа. В PHP тип переменной определяется по контексту, в котором она используется. Если присвоить строковое значение переменной var, var становится строкой. Если затем присвоить переменной var значение целого числа, то она станет целым. Примером автоматического преобразования типа в PHP может служить оператор сложения '+'. Если какой-либо из операндов является числом типа double, то все операнды оцениваются как double и результат будет иметь тип double. Иначе, эти операнды будут интерпретированы как integer и результат будет integer. Отметим, что при этом НЕ меняются типы операндов, меняется их оценка.

Изменение типа. Примеры: $foo = "0"; // $foo - строка (ASCII 48) $foo++; // $foo - строка "1" (ASCII 49) $foo += 1; // $foo является целым (2) $foo = $foo + 1.3;//$foo - double (3.3) $foo = 5 + "10 Little Piggies"; // $foo является целым (15) $foo = 5 + "10 Small Pigs"; // $foo является целым (15) Если вы желаете изменить тип переменной, используйте settype().

Определение типов переменных. Поскольку PHP определяет типы переменных и преобразует их (в общем) по мере необходимости, не всегда очевидно какой тип данная переменная имеет в какой-то отдельный момент. Поэтому PHP включает несколько функций, которые позволяют определить текущий тип переменной. Это функции gettype(), is_long(), is_double(), is_string(), is_array(), и is_object().

Приведение типа. Приведение типа работает в PHP во многом так же как в C: название требуемого типа записывается в круглых скобках перед переменной, которая должна быть приведена к данному типу. $foo = 10; // $foo is an integer $bar = (double) $foo;// $bar - double Допускается следующее приведение типов: –(int), (integer) - приведение к целому – (real), (double), (float) - приведение к типу double – (string) - приведение к строке – (array) - приведение к массиву – (object) - приведение к объектной переменной.

Преобразование строк. Когда строковая переменная оценивается как числовая, результирующее значение и тип переменной определяются так: Переменная string будет оценена как double, если она содержит любой из символов '.', 'e', или 'E'. Иначе она будет оценена как integer. Данное значение задается начальной частью строковой переменной. Если строка начинается с допустимых цифровых данных, то это значение и будет использоваться. Иначе, будет значение 0 (ноль).

Преобразование строк. Примеры: $foo = 1 + "10.5";//double (11.5) $foo = 1 + "-1.3e3";// double (- 1299) $foo = 1 + "bob-1.3e3"; // integer (1) $foo = 1 + "bob3"; // integer (1) $foo = 1 + "10 Small Pigs"; // integer (11)

Манипуляции с массивом. PHP поддерживает как скалярные, так и ассоциативные массивы. Вы можете создать массив, используя функции list() или array(), или можно явно задать значение каждого элемента массива. $a[0] = "abc"; $a[1] = "def"; $b["foo"] = 13; Можно также создать массив просто добавляя в него значения. $a[] = "hello"; // $a[2] == "hello" $a[] = "world"; // $a[3] == "world"

Манипуляции с массивом. Инициализация хеша: $c["one"]="abc"; $c["two"]="def"; $c[99]="ghi"; // аналог $c["99"]="ghi"; Применение функции array(): $d=array("one","two",86.22); $e=array("one"=>"abc", "two"=>"def");

Манипуляции с массивом. Многомерные массивы: $a[][0]=4; $a[1][]=5; $b[]["one"]="abc"; $b[3]["bb"]="abc"; $f["first"]["second"]="123"; $c[aa"][5][1][bb"]=$f; Применение функции array(): $fruit=array("апельсин"=>array("цвет"=>"оранж евый","вкус"=>"победы"), "лимон"=>array("цвет"=>"желтый", "вкус"=>"кислый")); echo $fruit["лимон"]["цвет"]; // желтый

Манипуляции с массивом. Массив может сортироваться функциями asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort(), и uksort() в зависимости от типа желаемой сортировки. Подсчет количества элементов массива осуществляется функцией count(). Перемещаться по массиву позволяют функции next() и prev(). Другим типовым способом перемещения по массиву является использование функции each().