6393

Основы Web-программирования на PHP

Реферат

Информатика, кибернетика и программирование

PHP. Быстрый старт. Первая программа на PHP. Вставив инструкцию print междуPHP-тегами, мы даем команду серверу послать приветствие Hello, world! в браузер. Это аналогично тому, что мы ввели данный текст в HTML-код...

Русский

2013-01-03

29.74 KB

9 чел.

PHP.

Быстрый старт.

Первая программа на PHP.

Вставив инструкцию print между PHP-тэгами, мы даём команду серверу послать приветствие Hello, world! в браузер. Это аналогично тому, что мы ввели данный текст в HTML-код.

1. <HTML>

2. <HEAD>

3. <TITLE> First PHP Script </TITLE>

4. </HEAD>

5. <BODY>

6. <?PHP

7. print ("Hello, world!”);

8. ?>

9. </BODY>

10. </HTML>

Синтаксис переменных.

В PHP все переменные обозначаются следующим образом: знак доллара ($), за ним имя переменной. Имя должно начинаться либо с буквы (A-Z, a-z), либо с символа подчёркивания (_). Состоять оно может из любого количества букв, цифр, знаков подчеркивания или их комбинации. В имени переменной нельзя использовать пробелы. Вместо них для разделения слов обычно используется символ подчёркивания.

Необходимо помнить, что для имен имеет значение регистр. Необходимо сразу научиться давать переменным содержательные имена, а также использовать комментарии для указания их назначения (/* */).

Типы переменных.

Числа.

Для простоты обучения мы объединили два вида чисел  целые и с плавающей запятой в одну группу. Целые числа могут быть положительными или отрицательными, но не дробными. Числа с десятичным знаком (даже такие как 1.0) это числа с плавающей запятой.

Дробь содержит два не используемых в числах знака: пробел и слеш (/).

Строки.

Переменная является строкой (string), если состоит из знаков (некоторая комбинация букв, цифр, символов и пробелов), заключённых в одинарные или двойные кавычки. Строки могут содержать любую комбинацию символов, включая имена других переменных.

Пример верного значения строки:

“1972”

Язык PHP позволяет использовать такие числовые строки непосредственно в математических выражениях.

При использовании функции print () для создания кода HTML можно экранировать кавычки, поставив перед ними обратный слеш. Изменив строку на “I said, \”How are you?\””, выдали команду PHP включить эти кавычки как часть значения строки, а не рассматривать их как индикаторы начала и конца строки. Вместе с двойными кавычками следует также экранировать апостроф или одинарные кавычки ('), обратный слеш (\) и знак доллара ($).

Двойные кавычки имеют бесспорное преимущество перед одинарными: значение переменной будет распечатано только при использовании первых.

Хотя обратный слеш используется для экранирования некоторых специальных символов, в сочетании с некоторыми буквами он имеет особое значение. Так, комбинация "\n" означает новую строку, "\r"  возврат каретки, а "\t"  знак табуляции.

Массивы.

Строка и число обычно содержат одно значение, а массив может иметь несколько определенных для него значений.

Стандартный массив PHP, состоящий из строк и чисел, в языке Perl также называется массивом. Создав состоящий из массивов массив, можно создать в PHP эквивалент используемого в Perl «хэша», также называемого ассоциативным или многомерным массивом. В PHP эти два типа одномерные или многомерные массивы не различаются.

Присвоение значений переменным.

В начале этой главы мы упомянули, что в PHP нет необходимости инициализировать или объявлять переменные. Значение переменной присваивается независимо от типа с помощью знака равенства (=). Он называется оператором присваивания, так как присваивает значение переменной, стоящей слева от него.

Тип переменной может изменяться «на лету», так как он не зафиксирован (PHP относится к языкам со слабым контролем типов, как JavaScript):

$variable = 1;

$variable = “Greetings”;

Вы можете явно присвоить переменной тип при первом её использовании (присвоение типа это то же, что и объявление переменной, когда точно указывается её тип). Синтаксис для этого следующий:

$number = (integer) 5;

$string = (string) “Hello, World!”;

Предопределённые переменные.

Важность предопределённых переменных нельзя недооценивать: во-первых, они иначе используются в программах, во-вторых, вы можете случайно создать переменную с таким же именем, а это, вероятно, приведет к проблемам.

Предопределённые переменные специальный тип переменных, который используется и программой Web-сервера (например, Apache), и операционной системой Web-сервера (Unix или Windows NT), и самим модулем PHP. Первые две категории называют также переменными окружения или переменными среды. В разных серверах могут применяться разные наборы предопределенных переменных. С помощью сценария test.php вы увидите, какие переменные среды используются на вашей машине.

Создание на странице переменной с тем же именем, что и переменная среды, приведёт к непредсказуемым результатам. Как видно из списка переменных среды, сгенерированного сценарием test.php, полный отказ от использования прописных букв в имени переменной уменьшает возможность возникновения конфликтов.

Использование строк.

Из-за небрежности пользователя при вводе информации, а иногда из-за неаккуратного HTML-кода часто к строке-переменной добавляются лишние пробелы. Перед тем как применять подобные строки, эти пробелы обязательно нужно удалить. В таком случае вам удастся избежать множества проблем. Строка с невидимым дополнительным пробелом уже не будет совпадать с такой же строкой без пробела. Лишние пробелы, посланные в Web-браузер, могут исказить вид страницы, а пробелы, отправленные в базу данных, или cookie-файлы вызвать ещё более неприятные последствия. Например, если пароль содержит концевые пробелы, он не будет действителен при введении без пробелов.

Функция trim () автоматически отсекает лишние пробелы в начале и конце строки (но не в середине). Используется следующий формат функции trim ():

$String=”extra space before and after text”;

$ String=trim ($String);

//Переменная $String теперь равна ”extra space before and after text”.

Соединение строк (сцепление, конкатенация).

Хотя термин сцепление, или конкатенация, не очень благозвучен, им обозначается чрезвычайно важный оператор построение предложения из отдельных фраз, или соединение нескольких строк в одну. Для этого предназначен оператор точка (.), который используется аналогично знаку плюс в арифметических выражениях:

$NewString=$aString . $bString;

Таким образом можно связать любое количество строк. К строкам с таким же успехом добавляются числа, которые становятся частью новой строки:

$NewString=$aString . $bString . $cNumber;

Числовая переменная $cNumber будет автоматически преобразована в строку и добавлена к содержимому переменной $NewString.

Кодирование и декодирование строк.

Что делать, если необходимо передать несколько слов как одно значение переменной?

Для таких случаев понадобится функция urlencode (). Как видно из её имени, функция кодирует (encode) строку для того, чтобы она была правильно передана как часть URL. В частности, функция urlencode () заменяет пробелы на знаки плюс (+) и преобразовывает специальные символы, например апостроф, в более подходящие для URL знаки.

Функция urldecode () выполняет действие, обратное действию urlencode (): она берёт закодированную для URL строку и преобразует её обратно в обычную стандартную форму.

Шифрование и дешифрование строк.

Операции шифрования и дешифрования используются на большинстве сайтов, особенно тех, через которые ведется электронная торговля. Часто единственны и способ защитить ценные данные зашифровать их, то есть преобразовать в форму, в которой информацию трудно, порой практически невозможно распознать, не зная ключа. Пароли представляют собой данные, которые всегда необходимо шифровать. В зависимости от желаемого уровня безопасности можно также кодировать имена пользователей, адреса электронной почты, номера телефонов.

Первая функция – crypt (.)  может использоваться для кодирования данных, но расшифровать их обратно не удастся.

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

Из длинных строк можно также извлекать маленькие части. Рассмотрим две функции, с помощью которых можно делать это. Необходимо отметить, что для эффективного извлечения частей строки нужно иметь какую-то информацию о самой строке.

Функция strtok () извлекает подстроку, называемую лексемой, из строки на основе заранее установленного разделителя (обычно запятая или пробел). Например, если пользователи вводят имя и фамилию в одном поле, разделяя эти данные пробелом, то можно узнать имя с помощью следующего кода:

$FirstName = strtok ($Name, “ “);

Второй способ выделения подстрок обратиться к индексной позиции символов внутри строки. Индексация строки означает нумерацию символов с начала строки, как если бы строка была массивом, а символы её элементами. В РНР, как и в большинстве языков программирования, индексация начинается с нуля. Разобравшись с индексами, мы можем использовать функцию substr () для выделения нужного диапазона символов:

$SubString = substr ($String, 0, 10);

Во-первых, необходимо указать строку (здесь это $String), из которой будет вырезаться подстрока. Во-вторых, с помощью индекса необходимо указать начало подстроки (если вы начинаете индексацию с нуля, значит, учитываться будет и первый символ). Третьим параметром вы указываете, из скольких символов будет состоять подстрока (10). Если строка состоит из меньшего количества символов, чем 10, подстрока закончится в конце строки.

Часто для определения длины строки используют функцию strlen ().

Сложение, вычитание, умножение и деление.

Умножение в языке РНР обозначается звездочкой (*).

Для сложения используется знак плюс (+).

Для операции вычитания используется знак минус (-).

Операция деления – знак (/).

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

Для печати значения переменной в форме числа с плавающей точкой с двумя цифрами после неё (в качестве примера возьмем число 1.02) необходимо написать:

printf (“%01.2f”, $Amount) ;

Инкремент и декремент.

В PHP, как в Perl и большинстве других языков программирования, есть особые операторы, нужные для того, чтобы сократить длинные неуклюжие присвоения вроде $Tax = $Tax + 1;. Если необходимо увеличить значение переменной ровно на единицу (инкремент) или уменьшить на единицу (декремент), можно использовать операторы «++» и «--» соответственно.

$Tax++;

$Number--;

Совместное использование различных операторов.

При обсуждении различного рода математических операторов неизбежно возникает вопрос приоритета  порядка выполнения действий при вычислениях.

Это неполный список операторов, расположенных в порядке их приоритета (от высшего к низшему). Так, умножение имеет более высокий приоритет, чем сложение

Приоритет операторов.

! ++ --

* / %

+ - .

< <= > >=

== !=

&&

||

= += *= /= .= %=

and

xor

or

Скобки всегда имеют приоритет над другими операторами.


 

А также другие работы, которые могут Вас заинтересовать

67546. Тепловые режимы работы электроприводов. Средняя мощность и температура электродвигателей и электромагнитных устройств. Тепловые режимы работы электропривода 157 KB
  Поскольку двигатель как нагреваемое тело может рассматриваться в виде линейного объекта то средняя температура может быть найдена по средней мощности потерь. Мощность электрических потерь определяется по закону Джоуля-Ленца: pэ = ri2. Они состоят из потерь на гистерезис и вихревые токи и определяются формулой где m – масса стали...
67547. Соотношения подобия в механике, электричестве и магнетизме 227 KB
  Простейшим видом подобия является геометрическое подобие. Коэффициент пропорциональности назовем коэффициентом подобия. Геометрически подобные треугольники Определяющим называется размер выбранный для задания коэффициента подобия.
67548. Подобие электромагнитных устройств и электрических машин 128 KB
  Видно что электромагнитная мощность пропорциональна частоте питания произведению площадей стали и окна под обмотки а также амплитуде магнитной индукции и плотности тока в обмотках. 3 Рассмотрим электромагнит постоянного тока см.5 Рассмотрим электродвигатель постоянного тока независимого возбуждения.
67549. ЭЛЕМЕНТЫ ПРОЕКТИРОВАНИЯ ЭЛЕКТРОПРИВОДА 45 KB
  Экономические требования Синтез электропривода Синтез технической системы включает в себя структурный функциональный и параметрический синтез. представление электропривода в виде совокупности элементов определение функций и параметров каждого элемента с учетом их связей и взаимодействия.
67550. Выбор типа и параметров двигателя, передаточного и усилительно-преобразовательного устройств. Выбор типа электродвигателя 56 KB
  В простейших случаях тип двигателя совпадает с видом напряжения сети. При использовании усилительно-преобразовательного устройства в случае сети постоянного тока применяется мостовая схема четыре силовых электронных ключа и широтно-импульсная модуляция для питания двигателя постоянного тока или инвертор...
67551. СОСТОЯНИЯ МИКРОСИСТЕМ. ПОСТУЛАТЫ КВАНТОВОЙ МЕХАНИКИ 136 KB
  Всякая физическая теория изучает определенный класс физических систем. Одно из основных понятий любой физической теории – понятие состояния физической системы которое задается переменными состояния. а Если заданы переменные состояния в некоторый фиксированный момент времени то мы имеем максимально...
67552. СОСТОЯНИЯ МИКРОСИСТЕМ. ПОСТУЛАТЫ КВАНТОВОЙ МЕХАНИКИ (ПРОДОЛЖЕНИЕ) 593.5 KB
  Разные собственные векторы при фиксированном Al автоматически не являются взаимно ортогональными. Но их всегда можно ортогонализовать процедурой Шмидта, а кроме того, их можно и нормировать.
67553. ВОЛНОВАЯ ФУНКЦИЯ ЧАСТИЦЫ. УРАВНЕНИЕ ШРЕДИНГЕРА 317.5 KB
  Здесь множитель i выделен для удобства (чтобы было = - см. ниже), а - некоторый дифференциальный оператор, не включающий производных по времени. Он должен быть линейным, чтобы соблюсти принцип суперпозиции.
67554. А-ПРЕДСТАВЛЕНИЕ КВАНТОВОЙ МЕХАНИКИ 642 KB
  Здесь предполагается, что спектр оператора - невырожденный. Если есть вырождение, то нужен еще один индекс, связанный с необходимостью введения по крайней мере еще одного оператора, коммутирующего с . Тогда строим базис из общих собственных векторов операторов и (см. лекцию 2):