- •Лабораторная работа №4
- •4.4. Теоретические сведения
- •Общие сведения о языке php
- •Работа в редакторе Zend Studio
- •4.4.3. Переменные и типы данных php
- •4.4.3.1.Переменные
- •4.4.3.2.Глобальные переменные
- •4.4.3.3.Статические переменные
- •4.4.3.4.Константы
- •4.4.3.5.Типы данных
- •4.4.3.6.Преобразование типов
- •4.4.4.Массивы
- •4.4.5. Операторы
- •4.4.5.1. Математические операторы
- •4.4.5.2. Операторы присваивания
- •4.4.5.3. Строковые операторы
- •4.4.5.4. Операторы инкремента и декремента
- •4.4.5.5. Логические операторы
- •4.4.5.6. Операторы равенства
- •4.4.5.7. Операторы сравнения
- •4.4.6. Конструкции языка
- •4.4.6.1. Проверка условий
- •4.4.6.2. Цикл с предусловием While
- •4.4.6.3. Цикл с постусловием do-while
- •4.4.6.4. Цикл For
- •4.4.6.5. Инструкции break и continue
- •4.4.6.7. Конструкция switch-case
- •4.4.7. Функции
- •4.4.7.1. Определение и вызов функций
- •4.4.7.2. Возврат значения из функции
- •4.4.7.3. Рекурсивные функции
- •4.4.7.4. Функции-переменные
- •4.4.8. Файловый ввод/вывод и файловая система
- •4.4.8.1. Проверка существования и размера файла
- •4.4.8.2. Открытие и закрытие файлов
- •4.4.8.3.Запись в файл
- •4.4.8.4. Чтение из файла
- •4.5. Пример разработки программы на php
- •4.6. Указания по организации самостоятельной работы студентов
- •4.7. Контрольные вопросы
Работа в редакторе Zend Studio
Сегодня существует множество редакторов для написания PHP-скриптов. Для этого можно воспользоваться как самыми простейшими средствами (например, notepad), так и мощным инструментарием, например, Dreamweaver, Net Beans, PHP Editor, Zend Studio и другие.
Для разработки пользовательских приложений на PHP рекомендуется использовать приложение Zend Studio, так как данный инструмент не требователен к ресурсам компьютера, достаточно функционален и удобен для разработки PHP-скриптов.
Zend Studio позволяет создавать, редактировать, отлаживать и оптимизировать код для PHP приложений.
Рабочее окно Zend Studio представлено на рис. 2. Оно содержит главное меню и панель инструментов в верхней части окна. Слева находятся файловый менеджер (здесь отображаются все файлы и каталоги системы), инспектор объектов, который содержит все объекты используемые в текущем PHP-коде (в том числе, подключаемые файлы, константы, функции). В главной части рабочего окна Zend Studio находится редактор PHP- кода. Справа в рабочем окне Zend Studio расположено окно вывода результата запуска PHP- кода. В нижней части Zend Studio находится окно для просмотра процесса отладки.
После запуска Zend Studio (открывается рабочее окно программы, представленное на рис. 2.) можно сразу писать текст новой программы или открыть уже существующий файл (выбрав соответствующий пункт в меню). В примере на рис. 3 в редакторе PHP- кода написана программа по выводу данных из БД.
Написанный PHP- код можно запустить на выполнение, выбрав в меню «Debug» пункт «Go» или соответствующей кнопкой на панеле инструментов. Результат запуска программы можно посмотреть в окне вывода результата выполнения PHP-кода. Запущенный на выполнение PHP-код можно просмотреть в двух представлениях: в виде HTML (рис. 4) и в текстовом (рис. 5).
На рис. 6 представлено окно для вывода сообщений об отладке программы. В данном случае имеется одно предупреждение об отсутствии необходимой функции в 7 строке.
Рис. 2. Окно редактора Zend Studio с открытым пунктом меню «File»
Рис. 3. Окно редактора Zend Studio с PHP- кодом по выводу данных из БД
Рис. 4. Результат запуска PHP-кода на выполнение в виде HTML
Рис. 5. Результат запуска PHP-кода на выполнение в текстовом виде
Рис. 6. Окно для вывода сообщений об отладке PHP-кода в Zend Studio
4.4.3. Переменные и типы данных php
4.4.3.1.Переменные
Переменная представляет собой именованную область памяти, содержащую данные, с которыми можно выполнять операции во время выполнения программы.
Имена переменных всегда начинаются со знака доллара, $. Ниже приведены примеры допустимых имен переменных:
$соlоr
$operating_system
$_some_variable
$model
Имена переменных должны соответствовать тем же условиям, что и идентификаторы. Другими словами, имя переменной начинается с буквы или символа подчеркивания и состоит из букв, символов подчеркивания, цифр или других ASCII-символов в интервале от 127 до 255.
Следует заметить, что переменные в РНР, как и в языке Perl, не требуют специального объявления. Вместо этого переменная объявляется при первом ее использовании в программе. Более того, тип переменной косвенно определяется по типу хранящихся в ней данных. Рассмотрим следующий пример:
$sentence = "This is a sentence."; // $sentence интерпретируется как строка
$price = 42.99: // $price интерпретируется как вещественное число
$weight = 185; // $weight интерпретируется как целое число
Переменные могут объявляться в любой точке сценария РНР, однако от расположения объявления зависит то, откуда можно обращаться к данной переменной.
Область видимости (scope) определяется как область доступности переменной в той программе, в которой она была объявлена. В зависимости от области видимости переменные РНР делятся на четыре типа:
локальные переменные;
параметры функций;
глобальные переменные;
статические переменные.
Переменная, объявленная внутри функции, считается локальной; другими словами, на нее можно ссылаться только в этой функции. При любом присваивании вне функции будет использоваться совершенно другая переменная, которая не имеет ничего общего (кроме имени) с переменной, объявленной внутри функции. При выходе из функции, в которой была объявлена локальная переменная, эта переменная и ее значение уничтожаются.
Основное достоинство локальных переменных — отсутствие непредвиденных побочных эффектов, связанных со случайной или намеренной модификацией глобальной переменной. Рассмотрим следующий пример:
$х = 4;
function assignx () {
$х = 0;
echo "\$x внутри функции равен $x. <br>";
}
assignx();
echo "\$x вне функции равен $x. <br>";
Результат выполнения этого кода:
$х внутри функции равен 0.
$х вне функции равен 4.
Как показано, программа выводит два разных значения переменной $х. Дело в том, что переменная $х внутри функции assignx имеет локальную природу, и изменение ее значения никак не отражается на значении, существующем за пределами этой функции. Справедливо и обратное — модификация $х за пределами функции никак не отражается на локальных переменных функции assignx().
