PHP
|
|
Jone | Дата: Понедельник, 15.07.2013, 14:03 | Сообщение # 1 |
Online
Группа: Администратор
Сообщений: 73
Статус: Offline
| Что такое PHP: Его официальное название PHP: Hypertext Preprocessor (PHP: Гипертекстовый Препроцессор), и он является языком сценариев, выполняющихся на сервере. Когда ваш браузер пытается получить доступ к указанному вами URL (Uniform Resource Locator - унифицированный указатель ресурса), он выполняет запрос к Web-серверу. Когда вы запросите РНР-страницу, например, http:??www.youcompany.com?home.php, Web-сервер активизирует синтаксический анализатор РНР и говорит: "Надо проделать кое-какую работу перед тем, как я отправлю результат на этот браузер". После этого синтаксический анализатор выполняет РНР-код, расположенный в файле home.php, и возвращает полученный результат. Этот результат возвращается Web-серверу как часть HTML кода документа, который, в свою очередь, передается вашему браузеру для отображения.
Иными словами это гостевые книги, форумы, анкеты регистраций, доски объявлений, чаты и многое другое. Он достаточно прост в применении и очень сильно упрощает жизнь опытным веб-дизайнерам. Благодаря нему можно уместить в 2-ух файлах огромное количество страниц (например, игровые коды на сайте). Это позволяет легко менять дизайн сайта. Ведь лучше редактировать 1 файл, чем несколько тысяч. Не так ли? Поэтому многие используют его при разработке сайтов.
Kopoткo об истории РНР: В 1994 году перспективно мыслящий человек по имени Rasmus Lerdorf разработал набор инструментов, которые использовали синтаксический анализатор для интерпретации нескольких макросов. Эти инструменты не были особенно оригинальными: гостевая книга, счетчик посещений и несколько других элементов "домашней страницы", которые были достаточно круты на ранней стадии развития Web. Он, в конечном счете, скомбинировал эти инструменты с пакетом интерпретации форм (FI - form interpretation), им же написанным, добавил некоторую поддержку баз данных и выпустил этот продукт под именем PHP⁄FI. Так, в духе свободно распространяемых исходных кодов, разработчики всего мира начали содействовать развитию PHP⁄FI. К 1997 году более 50000 Web-сайтов использовали PHP⁄FI для решения различных задач - подключение к базе данных, отображение динамического содержимого и т.п. К этому времени разработка стала по-настоящему результатом коллективных усилий. При участии разработчиков Zeev Suraski и Andi Gutmans, была создана версия РНР 3.0. Окончательная редакция РНР 3.0 была выпущена в июне 1998 года, когда она была дополнена поддержкой множества платформ (теперь уже не только для Linux) и Web-серверов, многочисленных баз данных, а также протоколов SNMP (Simple Network Management Protocol - простой протокол сетевого управления) и ШАР (Internet Message Access Protocol - межсетевой протокол доступа к сообщениям). В настоящее время: • Миллионы Web-серверов используют РНР; • Был выпущен РНР 4.0.0, поддерживающий движок Zend; • Вот-вот появятся подключаемые (Plug-in) модули оптимизации и отладки РНР-кода; • РНР 4.0.0 может работать почти с любой комбинацией Web-серверов, операционных систем и баз данных, которые только возможно придумать.
Ярослав Мазур
|
|
| |
Jone | Дата: Понедельник, 15.07.2013, 14:05 | Сообщение # 2 |
Online
Группа: Администратор
Сообщений: 73
Статус: Offline
| На чем писать скрипты? Для это необходим любой текстовый редактор. Вот некотырые примеры, некоторые из которых могут сильно облегчить Вам жизнь. notepad++ Notepad++ — свободный текстовый редактор с открытым исходным кодом для Windows с подсветкой синтаксиса большого количества языков программирования и разметки. Он базируется на компоненте Scintilla, написан на C++ с использованием STL, а также Win32 API и распространяется под лицензией GPL. Базовая функциональность программы может быть расширена как за счёт плагинов, так и сторонних модулей, таких как компиляторы и препроцессоры.
Ярослав Мазур
|
|
| |
Jone | Дата: Понедельник, 15.07.2013, 14:18 | Сообщение # 3 |
Online
Группа: Администратор
Сообщений: 73
Статус: Offline
| Мой первый скрипт на PHP Итак, приступим к созданию первого php-скрипта. Он должен вывести на экран текст "Здравствуй, мир!". В блокноте или notepad ++ создаем файл index.php и пишем там следующее: Код <? $per = "мир"; echo "Здравствуй, $per!"; ?> Сохраняем и открываем браузер с помощью любого блокнота. В качестве результата должно вывести слово "Здравствуй, мир!".
Сохраняем и открываем браузер. В адресной строке записываем название папки, в которой лежит папка www с нашим файлом index.php (например, http://localhost/, localhost - имя папки). В качестве результата должно вывести слово "Здравствуй, мир!".
Функция echo выводит на экран то, что заключено в скобках (""), будь это число, текст или переменная, или даже элемент массива. В последних двух случаях он напечатает их значения. Переменные начинаются со знака "$" и содержат латинские буквы, но не должны начинаться с цифр, хотя могут их содержать. Для удобства читаемости можно еще использовать знак "_". После объявления переменной и использования функций (в нашем случае echo) надо ставить ";".
Но, чтобы получилась полноценная страница не хватает тегов html. Добавляем на страницу, и вот, что в итоге должно получиться:Код <html> <head> <title>Мой первый скрипт на PHP</title> </head> <body> <? $per = "мир"; echo "Здравствуй, $per!"; ?> </body> </html>
Ярослав Мазур
|
|
| |
Jone | Дата: Понедельник, 15.07.2013, 14:28 | Сообщение # 4 |
Online
Группа: Администратор
Сообщений: 73
Статус: Offline
| Условия в PHP: Условия - это одно из важнейший операторов в PHP. Без них нельзя создать ни один нормальный скрипт. С помощью них скрипт может в разных случаях по-разному работать. Принцип работы с ними простой, думаю Вы поймете сразу. Итак обо всем по порядку.
В операторе if ставиться условие, если оно выполняется, то выполняется часть кода следующая в фигурных скобках за ним, если нет, то часть кода идущая после оператора else. Также можно создавать сложные условия с помощью elseif. Схематично выглядит так:
По-русски это звучит так: "Если условие выполняется, то выполняется одно, если нет, то что-то другое". Следующий вопрос - "Как создавать условия?". Можно создавать сложные условия: Вот пример работы условий: Код <?
$a = 5; $b = 6; $c = 5;
if($a != $b && $b > $c) {
echo "Условие выполняется";
}else{
echo "Условие не выполнилось";
}
?>
Ярослав Мазур
|
|
| |
Jone | Дата: Понедельник, 15.07.2013, 14:32 | Сообщение # 5 |
Online
Группа: Администратор
Сообщений: 73
Статус: Offline
| Помимо условий не маловажную вещь в PHP, как, наверное, и в любом другом языке программирования, занимают еще и циклы. Даже не зная абсолютно ничего о них, можно догадаться, что цикл это какое-то повторяющееся действие. Так на самом деле и есть. Создается какая-то переменная, а затем она изменяется до тех пор пока не дойдет до какого-то значения. На практике это довольно удобно. Можно с необычайной легкостью считывать или заполнять массивы, высчитывать значения каких либо функций и. т. д., что широко используется на различных сайтах, например, в гостевых книгах и форумах. Существует несколько видов циклов while, do..while и for.
WHILE Цикл WHILE - простейший тип цикла. Он действует как и его аналог в C. Основная форма оператора WHILE: Код [b]WHILE[/b](условие) { ... }
Ярослав Мазур
|
|
| |
Jone | Дата: Понедельник, 15.07.2013, 14:33 | Сообщение # 6 |
Online
Группа: Администратор
Сообщений: 73
Статус: Offline
| Первое выражение безусловно вычисляется(выполняется) в начале цикла.
В начале каждого цикла проверяется условие. Если оно выполняется, то цикл продолжается и выполняются вложенный(е) оператор(ы). Если нет, то цикл заканчивается.
В конце каждого цикла вычисляются(исполняются) вложенные операторы.вложенные операторы.
Каждое из этих выражений может быть пустым. Если условия нет, то цикл продолжается бесконечно (PHP по умолчанию считает его выполнившимся (равным TRUE), как и С). Это не так бесполезно, как могло бы показаться, так как зачастую вам требуется закончить выполнение цикла используя оператор BREAK в сочетании с логическим условием вместо использования логического выражения в FOR.
Рассмотрим следующие примеры. Все они выводят номера с 1 по 10 : Код // Пример 1
[b]for[/b] ($i = 1; $i <= 10; $i++) {
[b]echo[/b] $i;
} Код // Пример 2
[b]for[/b] ($i = 1;;$i++) {
[b]if[/b] ($i > 10) [b]break[/b]; [b]echo[/b] $i;
}
Код // Пример 3
$i = 1;
[b]for[/b] (;;) {
[b]if[/b] ($i > 10) [b]break[/b]; [b]echo[/b] $i; $i++;
}
Код // Пример 4
[b]for[/b] ($i = 1; $i <= 10; [b]echo[/b] $i, $i++);
Конечно, первый и четвертый вариант кажутся лучше, но оказывавется возможность использования пустых выражений в цикле FOR зачастую оказывается полезной.
Ярослав Мазур
|
|
| |
Jone | Дата: Понедельник, 15.07.2013, 14:35 | Сообщение # 7 |
Online
Группа: Администратор
Сообщений: 73
Статус: Offline
| Введение в массивы Следующей основой языка являются массивы, без использования которых невозможно представить работу на PHP. Работа с циклами находит реальное применение в использовании массивов. Можно сказать даже, что они дополняют друг друга. Массивы нужны для обработки большого количества однотипной информации и представляют из себя переменную с индексом, в зависимости от значения которого меняется значение этой переменной. Это удобно при работе с базами данных (БД), которые могут находится, как в SQL, так в текстовых файлах. Однако, как не странно, многим людям сложно понять эти тонкости, а также что конкретно представляет собой массив. Допустим вы хотите использовать 3 $pere переменные со значениями a, b и c. Конечно, можно сделать с использованием 3-х переменных $pere1, $pere2, $pere3:
$pere1 = "a";
$pere2 = "b";
$pere3 = "c";
Однако, это не удобно. Уловили в чём неудобство? Если нет, тогда просто поверьте, что так делать некрасиво, неправильно, а в некоторых случаях даже невозможно. Нужно сделать так:
$pere[0] = "a";
$pere[1] = "b";
$pere[2] = "c";
В итоге мы получим тоже самое. Образно можно сказать, что массив - это одна переменная с множеством значений.
Реально же массивы используются немного иначе, где другой метод не может быть использован. Вот предположим мы задались целью создать гостевую книгу. Каждую запись мы будем хранить в тестовом файле построчно. Вот как примерно должен выглядеть текстовый файл:
Вот, как у вас должна примерно выглядеть текстовая база данных с сообщениями посетителей вашего сайта. Здесь через знак "|", последовательно отделены имя добавителя, его эл. почтовый адрес и сообщение, которое он написал. Каждая стока - это новое сообщение в гостевой. Чтобы использовать каждую строку в отдельности, можно создать n-ое количество переменных и присвоить им в качестве значения по строке из файла. Как прочитать текстовый файл средствами PHP, я расскажу позже, но даже на данный момент понятно, что создать для каждой строки переменную - это безумие. Ладно их будет 10, а если 1000 или больше, тем более их число динамическое. Поэтому в таких случаях используются массивы. Поскольку строки однотипны, то есть записаны аналогичным способом, то из них можно сделать массив. А затем циклически вывести на экран каждую строку, при этом обработав ее как нам необходимо. Сделав массив, мы также можем отдельно вывести ту строку, которая нам необходима.
Ярослав Мазур
|
|
| |
Jone | Дата: Понедельник, 15.07.2013, 14:37 | Сообщение # 8 |
Online
Группа: Администратор
Сообщений: 73
Статус: Offline
| Создание массива, заполнение его значениями.
Создать массив и заполнить его значениями можно по-разному. Самый обычный способ - это использование функции array.
Код array(`Первый элемент`, `Второй элемент`, ... `Последний элемент`);
Чтобы потом взять нужное значение, после имени массива в квадратный скобках указывают его порядковый номер ($days), где i - это порядковый номер. Рассмотрим небольшой пример: Код $days = array(`Понедельник`, `Вторник`, `Среда`, `Четверг`, `Пятница`, `Суббота`, `Воскресенье`); // Сам массив, задающийся функцией array
$today = $days[1]; echo $today; В качестве результата на экране должно появиться слово "Вторник", а не "Понедельник", как некоторые из Вас могли подумать. Все дело в том, что отсчет начинается с 0, а не с 1. Следовательно последний элемент должен иметь индекс на 1 меньше размера массива (кол-ва его элементов), т. е., чтобы вывести слово "Воскресенье" нужно написать в квадратный скобках 6, а не 7:
Код $days = array(`Понедельник`, `Вторник`, `Среда`, `Четверг`, `Пятница`, `Суббота`, `Воскресенье`);
$today = $days[6]; echo $today;
Помимо буквенных значений, массивы могут заполняться всеми видами переменных(например, еще числовыми целыми и дробными). Если Вы используете числа, то одинарные ковычки следует убрать. Однако такой способ заполнения массива встречается не часто, и Вы, наверняка, этим очень редко пользоваться, однако не следует забывать и этот способ.
Основное их примение - это работа с текстовыми файлами и базами данных, с которыми Вам вдальнейшем придется постоянно работать. Для этого используется функция file("путь к файлу"), которая построчно считывает файл целиком в массив. Вот как должно выглядеть на примере в файлом db.dat
Код $file = file("db.dat"); // построчно добавили в массив
$count = count($file); // посчитали кол-во эл. массива for($i = 0; $i < $count; $i++) echo "$file[$i]<br>"; // отобразили на экране
Выведет построчно этот файл, на экране это будет выглядеть также, как если открыть этот файл с помощью любого текстового редактора.
Посчитать количество элементов.
Когда неизвестен размер массива, как было видно из предыдущего примера, довольно удобной является функция count(массив), выдающая в качестве результата число, выражающее кол-во элементов. Например,
Код $days = array(`Понедельник`, `Вторник`, `Среда`, `Четверг`, `Пятница`, `Суббота`, `Воскресенье`);
$count = count($days); echo $count; Результатом будет выведено на экран число 7.
Разбивка строки в массив по одному или группе символов.
Наверное, Вы обратили внимание на этот необычный символ "|" в самом первом примере с массивами. Именно этим символом мы и отделили "Имя", "Почтовый адрес" и "Сообщение добавителя". Теперь, нам отдельно нужен каждый из элементов данной строки. Воспользуемся функцией explode("символ, которым разделяли", "строка"). Эта функция также создает массив из разделеный кусков строки.
Код $file = file("db.dat"); $count = count($file);
for($i = 0; $i < $count; $i++){
$message = explode("|", $file[$i]); echo "Добавил: <a href=mailto:$message[1]>$message[0]</a>:<br>$message[2]<br><br>";
} В результате у нас должна появиться уже довольно сносное чтение файла, реализованное с помощью массивов, в виде части гостевой книги. Аналогично это используется при создании форумов, чатов, голосований...
Ярослав Мазур
|
|
| |
Jone | Дата: Понедельник, 15.07.2013, 14:39 | Сообщение # 9 |
Online
Группа: Администратор
Сообщений: 73
Статус: Offline
| Слияние массивов. Слияние массива - это создание массива сождержащего элементы нескольких массивов. Пример: Код $a = array("a" => "aa", "b" => "bb");
$b = array("c" => "cc", "d" => "dd");
$c = $a + $b; В результате $c будет содержать Код array("a" => "aa", "b" => "bb", "c" => "cc", "d" => "dd") Обратите внимание, что слияние зависит от порядка расположения слагаемых массивов, т. е.: Код $a = array("a" => "aa", "b" => "bb"); $b = array("c" => "cc", "d" => "dd");
$c = $b + $a; В итоге получим: Код array("c" => "cc", "d" => "dd", "a" => "aa", "b" => "bb") НО! Есть одно немаловажное но. Обычно все идет не так, как мы хотели, когда "сливаем" списки. Например: Код $a = array(10, 20, 30); $b = array(100, 200); $c = $a + $b; Вы думаете, что у вас получится array (10, 20, 30, 100, 200), а нет ... получится array (10, 20, 30).
При слиянии массивов с элементами с одинаковыми ключами в результате останется только один элемент с таким ключом - тот, что был в первом массиве.
Ярослав Мазур
|
|
| |
alexsl | Дата: Вторник, 16.07.2013, 02:29 | Сообщение # 10 |
1
Группа: Пользователи
Сообщений: 3
Статус: Offline
| Полезные статьи) , почитаю на досуге
|
|
| |