Четверг, 21.09.2017, 13:36
Мой сайт
Приветствую Вас Гость =) | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Информационный форум IB » Все для вебмастера » Программирование » PHP (Hypertext Preprocessor)
PHP
JoneДата: Понедельник, 15.07.2013, 14:03 | Сообщение # 1
Online
Группа: Администратор
Сообщений: 73
Награды: 27
Репутация: 109
Статус: 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
Награды: 27
Репутация: 109
Статус: Offline
На чем писать скрипты?
Для это необходим любой текстовый редактор. Вот некотырые примеры, некоторые из которых могут сильно облегчить Вам жизнь.
notepad++
Notepad++ — свободный текстовый редактор с открытым исходным кодом для Windows с подсветкой синтаксиса большого количества языков программирования и разметки. Он базируется на компоненте Scintilla, написан на C++ с использованием STL, а также Win32 API и распространяется под лицензией GPL. Базовая функциональность программы может быть расширена как за счёт плагинов, так и сторонних модулей, таких как компиляторы и препроцессоры.
Прикрепления: 2968890.png(7Kb)


Ярослав Мазур
 
JoneДата: Понедельник, 15.07.2013, 14:18 | Сообщение # 3
Online
Группа: Администратор
Сообщений: 73
Награды: 27
Репутация: 109
Статус: 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>
Прикрепления: 4563980.png(54Kb) · 2190781.png(9Kb)


Ярослав Мазур
 
JoneДата: Понедельник, 15.07.2013, 14:28 | Сообщение # 4
Online
Группа: Администратор
Сообщений: 73
Награды: 27
Репутация: 109
Статус: Offline
Условия в PHP:
Условия - это одно из важнейший операторов в PHP. Без них нельзя создать ни один нормальный скрипт. С помощью них скрипт может в разных случаях по-разному работать. Принцип работы с ними простой, думаю Вы поймете сразу. Итак обо всем по порядку.

В операторе if ставиться условие, если оно выполняется, то выполняется часть кода следующая в фигурных скобках за ним, если нет, то часть кода идущая после оператора else. Также можно создавать сложные условия с помощью elseif. Схематично выглядит так:

По-русски это звучит так: "Если условие выполняется, то выполняется одно, если нет, то что-то другое". Следующий вопрос - "Как создавать условия?".

Можно создавать сложные условия:

Вот пример работы условий:
Код
<?

$a = 5;
$b = 6;
$c = 5;

if($a != $b && $b > $c) {

echo "Условие выполняется";

}else{

echo "Условие не выполнилось";

}

?>
Прикрепления: 9406747.jpg(28Kb) · 0782158.jpg(57Kb) · 6032160.jpg(22Kb)


Ярослав Мазур
 
JoneДата: Понедельник, 15.07.2013, 14:32 | Сообщение # 5
Online
Группа: Администратор
Сообщений: 73
Награды: 27
Репутация: 109
Статус: Offline
Помимо условий не маловажную вещь в PHP, как, наверное, и в любом другом языке программирования, занимают еще и циклы. Даже не зная абсолютно ничего о них, можно догадаться, что цикл это какое-то повторяющееся действие. Так на самом деле и есть. Создается какая-то переменная, а затем она изменяется до тех пор пока не дойдет до какого-то значения. На практике это довольно удобно. Можно с необычайной легкостью считывать или заполнять массивы, высчитывать значения каких либо функций и. т. д., что широко используется на различных сайтах, например, в гостевых книгах и форумах. Существует несколько видов циклов whiledo..while и for

WHILE
Цикл WHILE - простейший тип цикла. Он действует как и его аналог в C. Основная форма оператора WHILE
Код
[b]WHILE[/b](условие) {
...
}


Ярослав Мазур
 
JoneДата: Понедельник, 15.07.2013, 14:33 | Сообщение # 6
Online
Группа: Администратор
Сообщений: 73
Награды: 27
Репутация: 109
Статус: 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
Награды: 27
Репутация: 109
Статус: 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
Награды: 27
Репутация: 109
Статус: 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
Награды: 27
Репутация: 109
Статус: 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
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Offline
Полезные статьи) , почитаю на досуге
 
Информационный форум IB » Все для вебмастера » Программирование » PHP (Hypertext Preprocessor)
Страница 1 из 11
Поиск:

Copyright MyCorp © 2017