Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Версия для печати
Урок 1. Начала...
Первые 90 процентов работы занимают
10 процентов времени, а последние 10 процентов -
оставшиеся 90 процентов времени.
NN
Итак, вы решились на этот смелый шаг изучения PHP. Только за это вы достойны похвалы. Не стоит понимать это как какое-то запугивание, просто по моему мнению, человек, решивший серьезно заняться программированием, заслуживает уважение за смелость, а человек, научившийся программированию, достоен медали за терпение и упорство.
Ну все, для вступлений хватит, пора непосредственно переходить к нашим урокам.
Прежде всего нужно сказать: PHP-скрипт для его выполнения должен быть заключен в следующие последовательности символов:
<? собственно скрипт ;?> |
Все они работают одинаково, все дело только в личных предпочтениях. Например, мне больше нравится первый вариант, но вы можете пользоваться любым другим.
Между этими символами будет выполняться каждая строка кода, кроме строк-комментариев, которые обзначаются следующим образом:
// - не выполняются команды от данных символов до конца строки;
/* комментарий */ - не выспринимаются команды между данными символами независимо от количества строк комментария;
# - комментарием считаются все символы от данного знака до конца строки.
Теперь мы познакомимся с одной из самых распространенных функций PHP - функцией вывода echo. Например, скрипт
<? echo "Сейчас мы проходим урок 1";?> |
выведет на экран текст "Сейчас мы проходим урок 1" (без кавычек) без какого-либо форматирования. Вы можете опробывать это сами. Для этого необходимо создать файл с расширением. php, .php3, .php4 (хотя последние два использовать не рекомендуется) или. phtml (именно эти расширения дают понять серверу, что в файле содержится php скрипт) и скопировать туда предыдущий пример. После закачки файла на хостинг, набрав в браузере соответствующий URL, вы можете увидеть плод вашего небольшого труда. Добавлю, что внутри кавычек функции echo можно размещать любой текст, в том числе HTML-теги.
Но, конечно же, функция echo была бы бесполезна, если бы выводила одно и то же сообщение. Поэтому мы плавно переходим к понятию переменной. Все без исключения переменные в PHP начинаются со знака $ (доллар). Причем имя переменной не должно начинаться с цифры, хотя внутри себя может её содержать. Заметьте, что имена переменных чувствительны к регистру.
Операция, неразрывно связанная с переменными, - операция присваивания = . Рассмотрим следующий пример:
<? $A=7.135; |
Результат выполнения скрипта можно посмотреть здесь.
Интересная особенность PHP заключается в том, что от пользователя не требуется предварительно определять тип переменной. В вышеуказанном примере мы присвоили переменной $A действительное, нецелое число, и она автоматически стала типа double, или, по-другому, float. Переменной $a мы присвоили целое числовое значение, теперь её тип - integer. $mess4 присвоено строковое значение - её тип, соответственно, string. Данная особенность, безусловно, облегчает жизнь разработчика PHP-скриптов.
Как вы заметили выше, каждая операция в PHP отделяется знаком ; (точка с запятой). Это обязательное условие для всех операций, кроме некоторых функций, которые мы рассмотрим в следующих уроках.
Но опять же все переменные в примере выше фиксированы, для их изменения нам необходимо самим менять их значение в скрипте. Как же этого избежать? Ответ - стандартные формы HTML.
<HTML> |
Если мы укажем в свойстве action тега Form в качестве скрипта-обработчика наш файл test. php, содержащий следующие строки:
<? echo "Поздравляю, $name $fam,<br>Вы только что выиграли |
то имена полей формы и их значения передадутся скрипту, который автоматически сделает названия полей переменными, а значения полей - значениями соответствующих переменных.
Вот как будет работать наш пример:
Ваше имя
Ваша фамилия
Замечу, что данный пример будет работать только если в настройках PHP (они хранятся в файле php. ini) в качестве значения параметра "register_globals" установлено "On".
На этом мы закончим наш первый урок. Поздравляю вас с этим и надеюсь на то, что вам было интересно и вы продолжите свое обучение. На следующем уроке мы поближе познакомимся с формами и со связкой форма->скрипт.
Урок 2. Формы всего сущего.
Форма (эйдос, "морфэ") - специфический
принцип вещи, её сущность, цель и
движущая сила, актуализирующая первоматерию
как простую возможность бытия...
Русская народная поговорка
На прошлом уроке мы научились передавать данные в php скрипт, что является удивительным явлением с точки зрения программирования: ввод данных происходит с помощью одного языка, обработка и вывод - посредством другого.
Существует два самых распространенных метода передачи данных из формы в скрипт: GET и POST. Не вдаваясь в технические подробности, скажу лишь, что пользователь может различить их только по виду адресной строки. Например, если URL выглядит http://www. *****/registration. php? name=Vasia&surname=Pupkin, то мы можем сказать, что в данной форме использован метод GET. Этот метод предполагает присоединение к URL имён и значения форм. Причем делается это по следующей схеме:
http://какой-либо_URL/страница. php? имя_переменной=её_значение&имя=значение...
Метод POST, в отличие от GET, незаметен для пользователя и ничего не прибавляет к URL. На данный момент нам этих знаний вполне достаточно.
Перейдем теперь непосредственно к самим формам и рассмотрим различные способы ввода данных в скрипт.
<Input type="TEXT"> | <TextArea> |
Два схожих элемента формы, предназначенные для ввода текста. В скрипт значения передаются следующим образом: значение атрибута name становится именем переменной, а введенные в элемент данные - её значением этой переменной.
<SELECT>
Вариант 1 Вариант 2 и т. д.
В HTML это записывается следующим образом:
<form...><select name="variants"> |
В скрипт передается переменная variants с одним из значений (1, 2 или etc) в зависимости от выбора пользователя. Если value не указаны, передается текст между тегами <option>.
<Input Type="CheckBox">
В случае установки флажка в обработчик передается переменная с именем, соответствующим имени самого checkbox, со значением On. Если checkbox пуст, то в скрипте эта перенная вообще не будет определена.
<Input type="Radio">
Самый распространенный способ использования этого элемента - выбор только одного из альтернативных вариантов. Для него соответствует следующий HTML код:
<form...> |
Вариант 1
Вариант 2
В скрипт передастся переменная var со значением либо 1, либо variant_2.
<Input type="HIDDEN">
Невидимый элемент формы, но тем не менее несущий значение в скрипт. В php-программировании его часто используют для передачи данных через несколько страниц. Для этого на каждой странице необходимо расположить php-скрипт, считывающий значение элемента Hidden с предыдущей страницы и присваивающий это значение элементу Hidden текущей страницы. Типичный пример - двухстраничные формы, где все данные формы с первой страницы заносятся в Hidden-элементы формы со второй страницы. Кроме того, этот элемент используется при использовании одного и того же скрипта несколькими формами, что обеспечивает распознавание формы, из которой были переданы данные. Например, формы оценки статей на сайте.
<Input type="SUBMIT"> | <Input type="Image" src="адрес"> |
Оба элемента выполняют одинаковую функцию - подачу запроса на обработку формы. Без одного из этих элементов функциональная форма просто не может существовать. Если с Submit, я думаю, все понятно, то Image имеет одну особенность: этот элемент может передавать скрипту два значения - координаты X и Y пикселя изображения, на который был совершен клик.
До следующего урока я рекомендую попрактиковаться в использовании всех элементов и выводом значений форм функцией ECHO. Кстати, для вывода всех значений форм вместе можно использовать предопределенные переменные $HTTP_GET_VARS или $HTTP_POST_VARS для соответствующих методов передачи данных. О предопределенных переменных мы поговорим попозже, а пока лишь скажу, что это зарезервированные переменные, которые сами берут значения из окружения сервера. Вышеуказанные переменные лучше выводить функцией PRINT_R, а не ECHO. Это должно выглядеть так:
<? print_r ($HTTP_POST_VARS); ?> |
А в следующем уроке мы рассмотрим такой тип данных, как массив, а также познакомимся с управляющими конструкциями PHP
Урок 3. Выражаемся по-ПиЭйчПовски
Верить в наше время нельзя никому. Даже себе. Мне - можно.
Итак, на прошлом уроке я обещал начать урок 3 с изучения следующего, четвертого типа данных - массива (три предыдущих см. в уроке 1). Ну что ж, приступим.
По сути, массив (array) можно представить в виде таблицы:
0 | 1 | 2 | 3 | 4 |
Вася | Маша | Дима | Лена | Андрей |
Вся эта таблица - массив, назовем его names. Таблица состоит из ячеек с номерами от 0 до 4, в каждой ячейке имеется свое значение. Доступ к какому-либо значению массива достигается следующим образом: $names[индекс], где индекс в нашем примере - число от 0 до 4. Задаваться массив может несколькими способами:
$names[0] = "Вася"; |
Иногда использование массива с ключами в виде чисел 0,1,2... становится неудобным. В этом случае создается ассоциативный массив. Ассоциативный массив - это массив, в котором индекс не обязательно должен быть последовательным рядом числовых значений. Индексом массива может быть любое число или строка. Например:
$a["мебель"] = "диван"; |
Как видно выше, элементами массива могут быть не только константы и переменные, но и массивы, которые имеют те же свойства, что и обыкновенные. Элементами массива можно манипулировать, как и переменными.
Вот мы познакомились с основными типами данных в PHP. Но, согласитесь, вводить данные, затем совершать на ними некоторые простенькие операции и выводить их на экран - не очень интересно, да и не для этого PHP был разработан. Теперь, когда мы познакомились с основами языка, переходим к более сложной, но одновременно и более интересной части нашего обучения. И сегодня на уроке мы рассмотрим основные управляющие конструкции PHP.
Управляющие конструкции.
Оператор условия IF.
Синтаксис:
IF (условие) { |
Логический оператор IF подобен выражению "Если..., то..., иначе...". Оператор может существовать и в урезанном виде: без else и последующих за ним операций. Тогда, если условие окажется неверным, оператор никак не отреагирует.
Заметьте, что если оператор IF содержит только одну операцию, заключенную в фигурные скобки, то эти скобки ставить необязательно.
Условием может быть любое выражение, способное возвращать значения либо TRUE (правда), либо FALSE (ложь). Чаще всего в условии используются операторы сравнения, например $a>0. Далее представлены другие возможные операторы сравнения.
Операторы | Значение |
== | Проверка на равенство |
Условий в операторе IF может несколько. Тогда они отделяются логическими операторами. Ниже приведена таблица логических операторов.
Операторы | Значение |
&& или AND | Условие верно, если два выражения верны |
Заметьте, что условием может выступать любая функция, возвращающая TRUE в случае успешного выполнения, (такие функции можно посмотреть в Мануале или на этом сайте) или все переменные, которые будут возвращать FALSE в случае, если переменная равна нулю или вообще не имеет значения, и TRUE при всех других значения.
Внутри оператора IF может быть вложен другой оператор IF. Тогда слово ELSE заменяется на ELSEIF и далее по стандартному синтаксису.
Пример:
if ( $a > 3 && $a <= 20 && $a!= 5) { |
Оператор выбора SWITCH.
Синтаксис:
switch (переменная или выражение) { |
По сути, оператор SWITCH заменяет последовательность операторв IF... ELSEIF... ELSEIF и так далее. Просто все это короче записывается и удобнее читается.
Пример:
switch ( $a ) { |
Цикл FOR.
Синтаксис:
for (выражение 1; выражение 2; выражение 3) { |
Цикл FOR выполняет команды заданное количество раз. Как только выражения начинают противоречить друг другу, цикл прекращает свою работу.
В циклах часто используются выражения следующего рода:
Выражения | Эквивалент |
$a += 2 или $a -= 3 | $a = $a + 2 или $a = $a - 3 |
Отличие последних двух выражений заключается в том, что при использовании выражения типа $a++ PHP сначала берет оригинальное значение, а затем увеличивает его на единицу. А при использовании выражения вида ++$a значение переменной сначала увеличивается, а затем уже берется это увеличенное значение. Например:
<? |
Эти выражения могут использоваться как самостоятельные выражения вне цикла.
Пример:
<? |
Результат выполнения этой программы будет выглядеть так:
P равно 1
P равно 3
P равно 6
P равно 10
Цикл WHILE.
Синтаксис:
while (условие) { |
Цикл WHILE в отличие от цикла FOR используется в случае, если число повторений выполнения команд неизвестно.
Пример:
<? |
Выше вы могли заметить новый оператор. (точка). Это так называемый оператор "склеивания". Он работает только со строковыми типами данных.
На этом заканчиваем урок, а на следующем мы познакомимся с функциями PHP.
Урок 4. Функционируем?
Язык PHP, как и практически любой современный язык программирования, поддерживает функции. Функции отличаются от других конструкций языка "хвостом" на конце в виде скобок (), между которыми могут присутствовать некоторые аргументы.
В PHP существует два типа функций:
- зарезервированные функции; функции, определяемые пользователем.
С первым типом мы уже сталкивались, например, когда упоминали функцию print_r(). Эти функции уже заранее разработаны производителем, и мы можем беспрепятственно ими воспользоваться. Они имеют самое разнообразное применение: это и математические функции, и функции работы со строками, массивами, файлами, временем и так далее. Все эти функции вы можете посмотреть в Мануале PHP, либо с некоторыми наиболее используемыми функциями, переведенными на русский язык, вы можете познакомиться прямо на этом сайте.
Больше возможностей, а значит и проблем, предоставляют функции, определяемые пользователем. Эти функции разрабатываются самим программистом в процессе написания кода. Они могут быть самыми разнообразными по сложности и разноплановыми по применению.
Особенность этих функций состоит в том, что их необходимо определять, в отличие от зарезервированных функций.
Синтаксис определения таких функций в общем виде выглядит так:
function имя_функции(аргумент1, аргумент2 и так далее) |
Имя функции - оригинальный идентификатор, может содержать все буквы латинского алфавита, числа и знак подчеркивания. Следите, чтобы имя вашей функции не совпадало с зарезервированной функцией PHP, иначе программа выведет ошибку. Заметьте, что имя функции, в отличие от имени переменной, нечувствительно к регистру.
Аргументами функций могут являться переменные и/или константы. Это те значения, которые будут использоваться командами в теле функции.
Внутри функции может быть любой верный php код, включая функции обоих типов, а также классы, которые мы разберем немного позже.
Использование функций, определенных пользователем, полностью идентично использованию зарезервированных функций.
Приведу в качестве примера определение простенькой функции:
function sum($a, $b) |
Конструкция return аргумент заставляет данную функцию возвращать после своего выполнения значение аргумента. Посмотрим пример использования вышеуказанной функции:
$a = sum(12, 5); |
В этом примере переменной $a присвоилось значение, возвращенное функцией sum (т. е. значение $c). Если бы мы не указали в определении функции return $c, то пример выше вывел бы только 12 + 5 = 17.
Нужно учесть, что все переменные внутри функции являются локальными, действующими только в теле функции. Поэтому в примере выше не было ошибкой строчка $a = sum(12, 5), где в функции sum уже есть своя переменная $a. Эти переменные никоем образом не пересекаются и имеют совершенно разное значение.
Для того, чтобы переменная, определенная внутри функции, действовала вне ее пределов, необходимо указать, что она является глобальной. Это делается следующим образом:
function word ($word) |
Как видите, мы не применяли return, так что функция ничего не возвращает, но мы определили переменную $string как глобальную, поэтому она действует в пределах всего кода php, так что в данном случае $string в функции равна $string вне функции.
Еще одна проблема, которая может возникнуть при использовании определяемых функций, - то, что функция после своего выполнения теряет все свои значения и при ее новом вызове нельзя использовать данные, полученные при предыдущем выполнении функции. Но эта проблема решаема, используя определение переменное как статичной.
function mult ($a) |
Если бы мы не написали static, то пример вывел бы числа 2, 3 и 4.
Следует заметить, что в некоторых случаях нам нужно передавать в качестве аргумента функции одно и то же значение. В этом случае в определении функции можно указать аргумент функции по умолчанию. Тогда, если при вызове функции аргумент не указан, то будет использоваться это значение по умолчанию.
function arr_count ($a, $b=3) /* значение по умолчанию должно указываться справа */ |
Функцию можно сделать значением переменной. Например, продолжаем пример выше:
$CountArray='arr_count'; |
На этом все. До следующего урока.
Урок 5. Наша первая считалка.
Итак, мы уже достаточно узнали, чтобы перейти к практике. И сегодня на уроке мы с вами создадим несложный калькулятор.
Хорошо. Давайте сначала продумаем, что будет делать наш калькулятор. В первую очередь, он, конечно, должен выполнять арифметические действия: сложение, вычитание, деление и умножение. Неплохо. Но где вы сейчас увидите калькулятор только с такими функциями? Поэтому снабдим его еще несколькими функциями, но перегружать его не будем. Договоримся, что наша "считалка" будет еще вычислять корень из числа, возводить его в указанную степень и, наконец, выводить процент от числа.
Решили? Теперь приступаем. Создаем файл, который называем calc. php. Использование функций позволит нам совместить в этом файле как форму для ввода чисел и других данных, так и вывод результата.
<html> |
Итак, мы определили функцию show, которая, как вы поняли, будет выводить форму. Заметьте, как мы разбили php скрипт, вставив блок HTML, но все же это все относится к одной функции show, это подобно тому, если бы не прерывали скрипт, а вместо этого написали бы echo "<FORM и так далее </html>";. Пока ни о каком дизайне формы нет и речи, это лишь "скелет" Калькулятора.
Продолжаем дальше писать файл calc. php.
function calc()
НЕ нашли? Не то? Что вы ищете?
❮
❯
|


