Слайд 1МДК.02.01 Информационные технологии и платформы разработки информационных систем
ПМ.02 Участие в разработке
информационных систем
Слайд 2Введение в PHP.
Основное назначение языка РНР - это выполнение на сервере
программ (сценариев), создающих динамические Web-страницы.
Датой создания языка РНР считают осень 1994 года. Разработка выполнялась одним человеком, Расмусом Лердорфом (Rasmus Lerdorf).
С выходом пятой версии в 2003 году язык PHP считают одним из наиболее перспективных профессиональных языков программирования, с помощью которого можно наиболее эффективно решать задачи любой степени сложности. Адрес начальной страницы для РНР - http://www.php.net.
Слайд 3 РНР - это продукт с открытым исходным кодом (Open Source).
Первоначально
РНР являлось сокращением от Personal Home Page (Персональная начальная страница), но затем это название было изменено в соответствии с рекурсивным соглашением по наименованию GNU (GNU = Gnu's Not Unix) и теперь означает РНР Hypertext Preprocessor (Препроцессор гипертекста РНР).
Слайд 4 Что представляет собой РНР сегодня?
поддержка практически всех платформ (семейств Windows,
UNIX, OS/2, QNX, MacOS и др.);
совместимость с серверами: Apache (Windows, UNIX), phttpd, fhttpd, thttpd, ISAPI (Zeus, MS IIS), NSAPI, AOLSERVER и др.;
поддержка технологий COM, XML, Java, CORBA, WDDX, Macromedia Flash;
Слайд 5 поддержка свыше 20-ти СУБД и развитая функциональность для работы с базами
данных;
возможность создания полноценных объектно-ориентированных приложений;
развитые средства для работы с сетевыми соединениями;
приложения на РНР работают быстро, поскольку в нем используется новый механизм Zend Engine 2 ( виртуальная машина с открытым кодом, широко известная как основная часть интерпретатора PHP)
Слайд 6 сравнительно простой синтаксис, удобство практического использования, бесплатность, открытость кода, а
также многочисленные библиотеки для различных отраслей науки и техники.
Все это дает возможность использовать этот язык не только профессиональным программистам, но и инженерам и научным работникам всех специальностей.
Д/з Установка сервера Apache с помощью программы Denwer, место хранения и адрес для открытия файла.
Слайд 7 Некоторые преимущества РНР.
РНР обладает множеством преимуществ по сравнению с продуктами
Perl, ASP, JSP и Macromedia Cold Fusion:
высокая производительность
наличие интерфейсов ко многим различным системам баз данных
встроенные библиотеки для выполнения многих общих задач, связанных с Web
низкая стоимость
простота изучения и использования
переместимость
доступность исходного кода.
Слайд 8 Синтаксис и грамматика.
Разделение инструкций. Инструкции (утверждения) разделяются также как в
C или Perl - точкой с запятой. Закрывающий тэг (?>) тоже подразумевает конец утверждения, поэтому следующие записи эквивалентны:
echo "Это тест";
?>
Слайд 9 Типы переменных.
PHP поддерживает переменные следующих типов:
integer - целое
double
- число с дробной частью
string - строковая переменная
array - массив
object - объектная переменная
pdfdoc - PDF-документ (только при наличии поддержки PDF)
pdfinfo - PDF-инфо (только при наличии поддержки PDF)
Тип переменной определяется PHP во время выполнения программы, в зависимости от контекста, в котором она используется.
Слайд 10 Для инициализации переменной в PHP просто присваивается ей значение.
Массив может
инициализироваться одним из двух способов: последовательным присвоением значений, или посредством конструкции array().
При последовательном добавлении значений в массив вы просто записываете значения элементов массива, используя пустой индекс. Каждое последующее значение будет добавляться в качестве последнего элемента массива.
$names[] = "Jill"; // $names[0] = "Jill"
$names[] = "Jack"; // $names[1] = "Jack"
Как в C и Perl, элементы массива нумеруются, начиная с 0, а не с 1.
Слайд 11
Внутри функций определенных пользователем, представлена локальная область функции. Любая переменная, определенная
внутри функции, по умолчанию ограничена локальной областью функции. Например:
$a = 1; /* глобальная область */
Function Test () {
echo $a; /* ссылка на переменную локальной области */
}
Test ();
?>
Этот скрипт не выдаст что-либо на выходе.
Слайд 12 В PHP глобальные переменные должны быть продекларированы глобально внутри функции, если
предполагается их использование в данной функции.
$a = 1;
$b = 2;
Function Sum () {
global $a, $b;
$b = $a + $b;
}
Sum ();
echo $b;
?>
Этот скрипт выдаст значение "3".
Слайд 13 Вторым способом доступа к переменным из глобальной области является использование специального
определяемого PHP массива $GLOBALS. При этом предыдущий пример может быть записан как:
$a = 1; $b = 2;
Function Sum () {
$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"]; }
Sum ();
echo $b;
Массив $GLOBALS является ассоциативным, в котором имя глобальной переменной является ключом, а значение этой переменной является значением элемента массива.
Слайд 14 Статическая переменная существует только в локальной области функции, но она не
теряет своего значения, когда программа, при исполнении, покидает эту область. Пример:
Function Test () {
$a = 0;
echo $a;
$a++;
}
Эта функция совершенно бесполезна практически, поскольку каждый раз при ее вызове она устанавливает $a в 0 и выводит "0". Выражение $a++ так же бесполезно, поскольку при выходе из функции переменная $a исчезает.
Слайд 15
Для придания дееспособности функции подсчета переменная $a декларируется как статическая:
Function
Test () {
static $a = 0;
echo $a;
$a++;
}
Теперь при вызове функции Test() она будет выводить значение $a и увеличивать его.
Слайд 16 Статические переменные существенны, когда функции вызываются рекурсивно.
Рекурсивные функции - это
те, которые вызывают сами себя.
Следующая простая функция рекурсивно считает до 10:
Function Test () {
static $count = 0;
$count++;
echo $count;
if ($count < 10) {
Test ();
}
$count--;
}
Слайд 17 Изменяемые переменные.
Обычная переменная устанавливается так:
$a = "hello";
В приведенном примере
значение hello может быть использовано как имя переменной, посредством применения двух записанных подряд знаков доллара, т.е.:
$$a = "world";
С этой точки зрения, две переменных определены и сохранены в символьном дереве PHP:
$a с содержимым "hello" и $hello с содержимым "world". Так, инструкция:
echo "$a ${$a}";
осуществляет то же самое, что и инструкция:
echo "$a $hello";
а именно, обе они выводят: hello world.
Слайд 18 Приведение типа.
Название требуемого типа записывается в круглых скобках перед переменной,
которая должна быть приведена к данному типу.
$foo = 10; // $foo is an integer
$bar = (double) $foo; // $bar is a double
Допускается следующее приведение типов:
(int), (integer) - приведение к целому
(real), (double), (float) - приведение к типу double
(string) - приведение к строке
(array) - приведение к массиву
(object) - приведение к объектной переменной
Слайд 19 Для работы с переменными есть в PHP особые функции:
isset() -
проверяет, была ли объявлена переменная и отличается ли её значение от NULL;
empty() - аналог isset()
unset() - встроенная функция языка, удаляющая значение переменной и удаляющая саму переменную из списка доступных переменных (уничтожающая переменную).
// Выводим сообщение с именем
echo "Моё имя: $name";
// уничтожаем переменную
unset($name);
}
else echo "Имя ещё не определено";
echo $name;
// ничего не выведет,
// т.к. значение переменной $name
// ещё не определено
// или переменная уже уничтожена
?>
Слайд 21
Элементы языка.
Константа.
Предопределенные константы - это константы __FILE__ хранит имя файла программы
(и путь к нему), которая выполняется в данный момент, __FUNCTION__ содержит имя функции, __CLASS__ – имя класса, PHP_VERSION – версия интерпретатора PHP.
Слайд 22
Можно определить дополнительные константы с помощью функций define() и undefine().
define("Имя_константы",
"Значение_константы",
[Нечувствительность_к_регистру])
Пример:
world.");
echo CONSTANT; // outputs "Hello world."
undefine ("CONSTANT");
?>
Слайд 23
Для получения значения константы можно использовать функцию constant() с именем константы
в качестве параметра.
// определяем константу
// PASSWORD
define("PASSWORD","qwerty");
// определяем регистронезависимую
// константу PI со значением 3.14
define("PI","3.14", True);
// выведем значение константы PASSWORD,
// т.е. qwerty
Слайд 24
echo (PASSWORD);
// тоже выведет qwerty
echo constant("PASSWORD");
echo (password);
/* выведет password и предупреждение,
поскольку
мы ввели регистрозависимую
константу PASSWORD */
echo pi;
// выведет 3.14, поскольку константа PI
// регистронезависима по определению
?>
Слайд 25 Выражения.
$a = 5
$b = $a $b = ($a =
5)
$b = $a = 5
Более сложные примеры выражений - это функции:
function foo () {
return 5;
}
Функции - это выражения с тем значением, которое они возвращают. Так как foo() возвращает 5, значение выражение 'foo()' - 5.
Слайд 26 Есть 2 типа инкремента - префиксный и постфиксный.
Префиксное увеличение, которое
записывается как '++$variable', приравнивается увеличенной переменной (PHP увеличивает переменную до того, как прочитать её значение).
Совмещённые выражения-оператор присваивания.
$a+=3 (увеличить $a на 3).
$a–=5 (вычесть 5 из значения $a).
$a*=7 (умножить значение $a на 7).
Слайд 27 Пример:
function double($i) /* функция удваивания переменной */
{ return $i*2; }
$b =
$a = 5; /* присваиваем значения переменым $a и $b */
$c = $a++; /* постфиксное увеличение, присваиваем $c начальное значение $a (5)*/
Слайд 28 $e = $d = ++$b; /* префиксное увеличение, $d и $e
равны увеличенному значение $b */
$f = double($d++); /* $f = удвоенное значение $d до его увеличения*/
$g = double(++$e); /* $g = удвоенное значение $e после его увеличения */
$h = $g += 10; /* увеличить значение $g на 10, присвоить это значение переменной $h */
Оператор имеет форму 'выражение' ';', то есть выражение, за которым следует точка с запятой. Не каждое выражение является оператором. В '$b=$a=5;' $a=5 это правильное выражение, но оно не является оператором. А вот '$b=$a=5;' является оператором.