Base php 0

28
«ЗНАКОМСТВО С ЯЗЫКОМ ПРОГРАММИРОВАНИЯ РНР»

description

PHP

Transcript of Base php 0

Page 1: Base php 0

«ЗНАКОМСТВО С ЯЗЫКОМ ПРОГРАММИРОВАНИЯ РНР»

Page 2: Base php 0

ЦЕЛЬ РАБОТЫ: Изучить основы программирования

на языке РНР.

ЗАДАНИЕ: 1. Установка и запуск web-сервера Apache.2. Первое приложение на php.3. Обработка форм при помощи языка программирования

PH4. 4. Записать свой сайт (с главной страницей index.html) в

распакованную на рабочем столе папку \web\home\localhost\www.

Page 3: Base php 0

PHP (Hypertext Preprocessor - Препроцессор Гипертекста)– это широко используемый язык сценариев общего назначения с открытым исходным кодом.

PHP - язык программирования, специально разработанный для написания web-приложений (скриптов, сценариев), исполняющихся на Web-сервере.

Сценарии на языке PHP могут исполняться на сервере в виде отдельных файлов, а могут интегрироваться в html страницы.

Page 4: Base php 0

1. ИСТОРИЯ ЯЗЫКА PHP

Page 5: Base php 0

Создателем и основным инициатором создания языка РНР был Расмус Лердорф (Rasmus Lerdorf) — разработчик программного обеспечения, член группы разработчиков Apache и незаурядный человек, известный в кругах разработчиков во всем мире. Расмус разработал первую версию языка РНР для своего личного использования в конце 1994 года.

Расмус Лердорф

Page 6: Base php 0

В ответ на просьбы пользователей в следующем году Расмус собрал и выпустил программный пакет, получивший

название Personal Home Page Tools (известный также как РНР Construction Kit — конструкторский набор РНР). Вскоре после этого под названием PHP/FI была выпущена версия 2

указанного программного обеспечения. Эта версия включала компонент FI (Form Interpreter — интерпретатор

форм) — инструментальное средство синтаксического анализа запросов SQL.

Page 7: Base php 0

К середине 1997 года язык РНР использовался приблизительно на 50 тысячах узлов во всем мире. Значительный вклад в разработку программного обеспечения РНР внесли также Зив Сураски и Энди Гутмане , два программиста из Израиля, которые разработали синтаксические анализаторы для версий РНРЗ и РНР4.

Зив Сураск

и

Энди Гутман

е

Page 8: Base php 0

В октябре 1998 года язык РНР в той или иной

форме использовался только в 100 тысячах

уникальных доменов. Но всего лишь через год по

своей широте распространения,

измеряемой количеством доменов, система РНР

преодолела миллионный рубеж.

Page 9: Base php 0

С помощью общедоступного программного обеспечения РНР создаются узлы самых разных

категорий. К ним относятся:Узлы, обслуживающие массовый рынок, такие как Excite

Webmail и Indianapolis 500, которые обеспечивают просмотр до миллиона страниц в сутки.

Узлы, посвященные деятельности привлекающей массовый интерес, наподобие Souiceforge.net и Epinions.com, которые,

как правило, соответствуют требованиям по предоставлению более широких функциональных

возможностей и обслуживают сотни тысяч пользователей.

Создание узлов электронной коммерции и буклетного обеспечения; к ним относятся узлы типа The Bookstore at

Harvard.com и Sade.com (начальная Web-страница британского певца), которые должны быть визуально

привлекательными к простыми в обновлении.

Page 10: Base php 0

Новейшаа версия - РНР5, позволила предоставить многим пользователям то, что они требовали в течение последних нескольких лет намного усовершенствованные функциональные средства объектно-ориентированного программирования. Она позволила в значительной степени приблизить язык РНР к объектно-ориентированным языкам наподобие Java и С++, обеспечивая поддержку таких средств, как перегрузка, интерфейсы; закрытые переменные экземпляра и методы, а также другие стандартные конструкции объектно-ориентированного программирования.

Page 11: Base php 0

2. Очевидные преимущества PH

P.

Page 12: Base php 0

• ДОСТУПНОСТЬ ДИСТРИБУТИВОВ 

• ОТКРЫТЫЙ КОД 

• НЕТ ЧРЕЗМЕРНОЙ ПРИВЯЗАННОСТИ К ОС

• ПРАКТИЧНОСТЬ

• ТРАДИЦИОННОСТЬ

• ПРОСТОТА

• ЭФФЕКТИВНОСТЬ

• БЕЗОПАСНОСТЬ

• ГИБКОСТЬ

• БЕСПЛАТНОЕ РАСПРОСТРАНЕНИЕ

Page 13: Base php 0

3. Синтаксис PHP

Page 14: Base php 0

ВЫРАЖЕНИЯ

Выражения это краеугольный камень PHP. В PHP вы почти всё записываете в виде выражений. Точнее и проще всего определить выражение как "нечто, имеющее значение".

Базовыми формами выражений являются константы и переменные. Если вы записываете "$a = 5", вы присваиваете '5' переменной $a. '5', очевидно, имеет значение 5 или, другими словами, '5' это выражение со значением 5

Page 15: Base php 0

ПЕРЕМЕННЫЕПеременные в PHP

представлены знаком dollar ($) с последующим именем переменной. Имя переменной чувствительно к регистру символов.

Имена переменных следуют тем же правилам, что и другие метки в PHP. Правильное имя переменной начинается с буквы или символа подчёркивания, с последующими (в любом количестве) буквами, числами или символами подчёркивания. 

$var = "Bob";$Var = "Joe";echo "$var, $Var"; // выводит "Bob, Joe"$4site = 'not yet'; // неправильно; начинается с числа$_4site = 'not yet'; // правильно; начинается с символа подчёркивания/underscore.

Page 16: Base php 0

<?php$foo = 'Bob'; // присваивается 'Bob' переменной $foo$bar = &$foo; // ссылка на $foo через $bar$bar = "My name is $bar"; // изменение $barecho $bar;echo $foo; // $foo также изменилась?>

Для присвоения по ссылке просто

присоедините амперсанд (&) к началу имени

переменной (исходной переменной). Например,

следующий фрагмент кода выводит 'My name

is Bob' дважды:

Page 17: Base php 0

Примитивные типы переменных

Скалярные

- boolean- integer- число с плавающей точкой

(float)- string

Составные

- array- object

Специальные

- Resource- NULL

Page 18: Base php 0

КОНСТАНТЫ

Перед именем константы нет знака dollar ($);

Константы могут быть определены только через использование функции define(), но не простым присвоением;

Константы могут быть определены, и доступ к ним может быть получен, в любом месте, вне зависимости от правил области видимости переменных;

Константы не могут быть переопределены или разопределены после своего определения;

Константы могут вычисляться только в скалярные значения;

<?phpdefine("CONSTANT", "Hello world.");echo CONSTANT; // выводит "Hello world."echo Constant; // выводит "Constant" и уведомление.?>

Page 19: Base php 0

Функции

Echo – одна из основных и

важнейших для практического использования функций языка

php. Echo выводит

информацию в браузер, на

экран. 

Еxplode - одна из

важнейших функций PHP.

Она очень удобна,

например, если вам нужно

хранить в базе данных строку "родительских"

id для какой-либо страницы, а

потом распаковывать ее, превращая в

отдельные номера-id.

Implode - объединяет элементы массива в

строку. Она обратна

функции explode и очень важна при разработке php-программ.

Объединенный в строку массив

можно с легкостью

записывать в базу данных или

передавать между

скриптами, например

методом POST. 

Strlen возвращает

длину строки. Это

очень простая, но важная и

часто применяемая функция PHP.  Она считает

число символов в строке - включая символы пробела. 

Strpos возвращает

позицию первого вхождения

подстроки. С ее помощью можно

искать какой-либо фрагмент

строки или проверять его

наличие в строке. 

<?php$nomer=”5”;echo “Вы указали число$nomer, вы в этом уверены?”; // Выведет: Вы указали число 5, вы в этом уверены??> 

<?php$parents = "12,5,3";$parentsm = explode(",", $parents);echo $parentsm[0]; // 12echo $parentsm[1]; // 5echo $parentsm[2]; // 3?> 

<?php$array = array('3', '5', '12');$str = implode(",", $array);echo $str; // выводит 3,5,12?> 

<?php$str = 'abcdef';echo strlen($str); // 6$str = ' ab cd ';echo strlen($str); // 7$str = 12;echo strlen($str); // 2?> 

<?php$string = 'abc';$find1 = 'a';$find2 = 'b';$pos1 = strpos($string, $find1);// выведет 0 букваа в нулевой позиции$pos2 = strpos($string, $find2);// выведет 1 букваb в первой позиции?> 

Page 20: Base php 0

Массивы

1. Arrау( ) Функция array( ) получает ноль или более элементов и возвращает массив, состоящий из указанных элементов. Ее синтаксис:

array array ( [элемент1, элемент2...] )

$languages = array ("English". "Gaelic". "Spanish");// $languages[0] = "English". $languages[1] = "Gaelic",// $languages[2] = "Spanish"

$languages = array("Spain" => "Spanish",

"Ireland" => "Gaelic"."United States" => "English");// $languages["Spain"] = "Spanish"// $languages["Ireland"] = "Gaelic"// $languages["United States"] =

"English"

А вот как array( ) используется при создании ассоциативных массивов:

Page 21: Base php 0

2. list( ). Конструкция list( ) похожа на аrrау( ), однако ее главная задача -- одновременное присваивание значений, извлеченных из массива, сразу нескольким переменным. Синтаксис команды list( ):

void list (переменная1 [. переменная2 , ...] )Конструкция list() особенно удобна при чтении информации из базы

данных или файла.

// Читать строки, пока не будет достигнут конец файла while ($line = fgets ($user_file. 4096)) :// Разделить строку функцией split( ).// Компоненты присваиваются переменным Sname. $occupation и Scolor.list ($name, $occupation, $color) = split( "|", $line);// Отформатировать и вывести данныеprint "Name: Sname <br>";print "Occupation: Soccupation <br>";print "Favorite color: Scolor <br>";endwhile;

Page 22: Base php 0

3. Range ( ). Конструкция range( ) позволяет легко и быстро создать массив целых чисел из интервала, определяемого верхней и нижней границами. Range( ) возвращает массив, состоящий из всех целых чисел указанного интервала. Синтаксис range( ):

array range (int нижняя_граница, int верхняяграница)

$lottery = range(0,9);// $lottery = array(0,1,2,3,4,5,6,7,8,9)

Page 23: Base php 0

<?php$array = array(12, 17, 22, 79);$key = array_search(17, $array, true); // $key = 1;$key = array_search("17", $array); // $key = 1;$key = array_search("17", $array, true); // FALSE;?> 

4. Array_search служит для поиска значения в массиве. В случае удачи она возвращает ключ искомого значения, если ничего не найдено - возвращает FALSE.

Синтаксис функции:mixed array_search

( mixed needle, array haystack [, bool strict] ) 

Page 24: Base php 0

ПРИОРИТЕТ ВЫПОЛНЕНИЯ ОПЕРАЦИЙ

АССОЦИАТИВНОСТЬ ОПЕРАЦИИлевая ,левая orлевая xorлевая and

правая print

левая= += -= *= /= .= %= &= |= ^= ~=

<<= >>=левая ? :левая ||левая &&левая |левая ^левая &

не ассоциативная == != === !==не ассоциативная < <= > >=

левая << >>левая + - .левая * / %

правая! ~ ++ -- (int) (float) (string) (array)

(object) @правая [

не ассоциативная new

Page 25: Base php 0

УСЛОВИЯ

1. If. Конструкция if является одной из ключевых во многих языках, в том числе и в PHP. Она позволяет выполнять фрагменты кода при выполнении условия. PHP предлагает структуру if:

if (expr) statement

if ($a > $b)print "a is bigger than b";

if ($a > $b){ print "a is bigger than b"; $b = $a;}

этот код выведет a is bigger than b, если $a больше $b, а затем присвоит значение переменной $a переменной $b:

Page 26: Base php 0

ЦИКЛЫ

Цикл с постусловием (do).

Синтаксис:do{тело цикла}while (условие продолжения

цикла)

Цикл с предусловием (while). Синтаксис:while (условие продолжения цикла){тело цикла}

Цикл со счетчиком (for). Отличие этого цикла в том, что

мы можем задать количество повторений цикла. Синтаксис:

for (инициализация переменной; условие выполнения цикла; шаг приращения)

{тело цикла}

Цикл foreach, который имеет следующий синтаксис:foreach (array as [$key =>] $value)

{ statements; } Смысл этого цикла прост: при проходе

каждого элемента массива в переменную $key помещается индекс этого элемента, а в переменную $value – его значение. Имена этих двух переменных совершенно произвольны.

Page 27: Base php 0

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

++$a Префиксный инкремент

Увеличивает $a на единицу и

возвращает значение $a.

$a++ Постфиксный инкремент

Возвращает значение $a, а затем

увеличивает $a на единицу.

–$a Префиксный декремент

Уменьшает $a на единицу и возвращает

значение $a.

$a– Постфиксный декремент

Возвращает значение $a, а затем

уменьшает $a на единицу.

Page 28: Base php 0

Выход из HTMLТЭГИ, ПОДДЕРЖИВАЕМЫЕ PHP:

1. <?PHP ECHO("ЕСЛИ ВЫ ХОТИТЕ РАБОТАТЬ С ДОКУМЕНТАМИ XHTML ИЛИ XML, ДЕЛАЙТЕ ТАК\N"); ?>

2. <? ECHO ("ЭТО ПРОСТЕЙШАЯ SGML-ИНСТРУКЦИЯ ПРОЦЕССИНГА\N"); ?>

<?= ВЫРАЖЕНИЕ ?> ЭТО АББРЕВИАТУРА ДЛЯ "<? ECHO ВЫРАЖЕНИЕ ?>

3. <SCRIPT LANGUAGE="PHP"> ECHO ("НЕКОТОРЫЕ РЕДАКТОРЫ

(ВРОДЕ FRONTPAGE) НЕ ЛЮБЯТ ИНСТРУКЦИИ ПРОЦЕССИНГА"); </SCRIPT>4. <% ECHO ("ВЫ МОЖЕТЕ ПО ВЫБОРУ

ИСПОЛЬЗОВАТЬ ТЭГИ В СТИЛЕ ASP"); %> <%= $VARIABLE; # ЭТО АББРЕВИАТУРА

ДЛЯ "<% ECHO . . ." %>