Base php 0
-
Upload
vladimir-burdaev -
Category
Education
-
view
525 -
download
0
description
Transcript of Base php 0
«ЗНАКОМСТВО С ЯЗЫКОМ ПРОГРАММИРОВАНИЯ РНР»
ЦЕЛЬ РАБОТЫ: Изучить основы программирования
на языке РНР.
ЗАДАНИЕ: 1. Установка и запуск web-сервера Apache.2. Первое приложение на php.3. Обработка форм при помощи языка программирования
PH4. 4. Записать свой сайт (с главной страницей index.html) в
распакованную на рабочем столе папку \web\home\localhost\www.
PHP (Hypertext Preprocessor - Препроцессор Гипертекста)– это широко используемый язык сценариев общего назначения с открытым исходным кодом.
PHP - язык программирования, специально разработанный для написания web-приложений (скриптов, сценариев), исполняющихся на Web-сервере.
Сценарии на языке PHP могут исполняться на сервере в виде отдельных файлов, а могут интегрироваться в html страницы.
1. ИСТОРИЯ ЯЗЫКА PHP
Создателем и основным инициатором создания языка РНР был Расмус Лердорф (Rasmus Lerdorf) — разработчик программного обеспечения, член группы разработчиков Apache и незаурядный человек, известный в кругах разработчиков во всем мире. Расмус разработал первую версию языка РНР для своего личного использования в конце 1994 года.
Расмус Лердорф
В ответ на просьбы пользователей в следующем году Расмус собрал и выпустил программный пакет, получивший
название Personal Home Page Tools (известный также как РНР Construction Kit — конструкторский набор РНР). Вскоре после этого под названием PHP/FI была выпущена версия 2
указанного программного обеспечения. Эта версия включала компонент FI (Form Interpreter — интерпретатор
форм) — инструментальное средство синтаксического анализа запросов SQL.
К середине 1997 года язык РНР использовался приблизительно на 50 тысячах узлов во всем мире. Значительный вклад в разработку программного обеспечения РНР внесли также Зив Сураски и Энди Гутмане , два программиста из Израиля, которые разработали синтаксические анализаторы для версий РНРЗ и РНР4.
Зив Сураск
и
Энди Гутман
е
В октябре 1998 года язык РНР в той или иной
форме использовался только в 100 тысячах
уникальных доменов. Но всего лишь через год по
своей широте распространения,
измеряемой количеством доменов, система РНР
преодолела миллионный рубеж.
С помощью общедоступного программного обеспечения РНР создаются узлы самых разных
категорий. К ним относятся:Узлы, обслуживающие массовый рынок, такие как Excite
Webmail и Indianapolis 500, которые обеспечивают просмотр до миллиона страниц в сутки.
Узлы, посвященные деятельности привлекающей массовый интерес, наподобие Souiceforge.net и Epinions.com, которые,
как правило, соответствуют требованиям по предоставлению более широких функциональных
возможностей и обслуживают сотни тысяч пользователей.
Создание узлов электронной коммерции и буклетного обеспечения; к ним относятся узлы типа The Bookstore at
Harvard.com и Sade.com (начальная Web-страница британского певца), которые должны быть визуально
привлекательными к простыми в обновлении.
Новейшаа версия - РНР5, позволила предоставить многим пользователям то, что они требовали в течение последних нескольких лет намного усовершенствованные функциональные средства объектно-ориентированного программирования. Она позволила в значительной степени приблизить язык РНР к объектно-ориентированным языкам наподобие Java и С++, обеспечивая поддержку таких средств, как перегрузка, интерфейсы; закрытые переменные экземпляра и методы, а также другие стандартные конструкции объектно-ориентированного программирования.
2. Очевидные преимущества PH
P.
• ДОСТУПНОСТЬ ДИСТРИБУТИВОВ
• ОТКРЫТЫЙ КОД
• НЕТ ЧРЕЗМЕРНОЙ ПРИВЯЗАННОСТИ К ОС
• ПРАКТИЧНОСТЬ
• ТРАДИЦИОННОСТЬ
• ПРОСТОТА
• ЭФФЕКТИВНОСТЬ
• БЕЗОПАСНОСТЬ
• ГИБКОСТЬ
• БЕСПЛАТНОЕ РАСПРОСТРАНЕНИЕ
3. Синтаксис PHP
ВЫРАЖЕНИЯ
Выражения это краеугольный камень PHP. В PHP вы почти всё записываете в виде выражений. Точнее и проще всего определить выражение как "нечто, имеющее значение".
Базовыми формами выражений являются константы и переменные. Если вы записываете "$a = 5", вы присваиваете '5' переменной $a. '5', очевидно, имеет значение 5 или, другими словами, '5' это выражение со значением 5
ПЕРЕМЕННЫЕПеременные в PHP
представлены знаком dollar ($) с последующим именем переменной. Имя переменной чувствительно к регистру символов.
Имена переменных следуют тем же правилам, что и другие метки в PHP. Правильное имя переменной начинается с буквы или символа подчёркивания, с последующими (в любом количестве) буквами, числами или символами подчёркивания.
$var = "Bob";$Var = "Joe";echo "$var, $Var"; // выводит "Bob, Joe"$4site = 'not yet'; // неправильно; начинается с числа$_4site = 'not yet'; // правильно; начинается с символа подчёркивания/underscore.
<?php$foo = 'Bob'; // присваивается 'Bob' переменной $foo$bar = &$foo; // ссылка на $foo через $bar$bar = "My name is $bar"; // изменение $barecho $bar;echo $foo; // $foo также изменилась?>
Для присвоения по ссылке просто
присоедините амперсанд (&) к началу имени
переменной (исходной переменной). Например,
следующий фрагмент кода выводит 'My name
is Bob' дважды:
Примитивные типы переменных
Скалярные
- boolean- integer- число с плавающей точкой
(float)- string
Составные
- array- object
Специальные
- Resource- NULL
КОНСТАНТЫ
Перед именем константы нет знака dollar ($);
Константы могут быть определены только через использование функции define(), но не простым присвоением;
Константы могут быть определены, и доступ к ним может быть получен, в любом месте, вне зависимости от правил области видимости переменных;
Константы не могут быть переопределены или разопределены после своего определения;
Константы могут вычисляться только в скалярные значения;
<?phpdefine("CONSTANT", "Hello world.");echo CONSTANT; // выводит "Hello world."echo Constant; // выводит "Constant" и уведомление.?>
Функции
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 в первой позиции?>
Массивы
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( ) используется при создании ассоциативных массивов:
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;
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)
<?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] )
ПРИОРИТЕТ ВЫПОЛНЕНИЯ ОПЕРАЦИЙ
АССОЦИАТИВНОСТЬ ОПЕРАЦИИлевая ,левая orлевая xorлевая and
правая print
левая= += -= *= /= .= %= &= |= ^= ~=
<<= >>=левая ? :левая ||левая &&левая |левая ^левая &
не ассоциативная == != === !==не ассоциативная < <= > >=
левая << >>левая + - .левая * / %
правая! ~ ++ -- (int) (float) (string) (array)
(object) @правая [
не ассоциативная new
УСЛОВИЯ
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:
ЦИКЛЫ
Цикл с постусловием (do).
Синтаксис:do{тело цикла}while (условие продолжения
цикла)
Цикл с предусловием (while). Синтаксис:while (условие продолжения цикла){тело цикла}
Цикл со счетчиком (for). Отличие этого цикла в том, что
мы можем задать количество повторений цикла. Синтаксис:
for (инициализация переменной; условие выполнения цикла; шаг приращения)
{тело цикла}
Цикл foreach, который имеет следующий синтаксис:foreach (array as [$key =>] $value)
{ statements; } Смысл этого цикла прост: при проходе
каждого элемента массива в переменную $key помещается индекс этого элемента, а в переменную $value – его значение. Имена этих двух переменных совершенно произвольны.
Операторы инкремента и декремента:
++$a Префиксный инкремент
Увеличивает $a на единицу и
возвращает значение $a.
$a++ Постфиксный инкремент
Возвращает значение $a, а затем
увеличивает $a на единицу.
–$a Префиксный декремент
Уменьшает $a на единицу и возвращает
значение $a.
$a– Постфиксный декремент
Возвращает значение $a, а затем
уменьшает $a на единицу.
Выход из 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 . . ." %>