Разработка приложений с помощью PHP

  • doc
  • 11.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 169. Разработка приложений с помощью PHP.doc

Лабораторная работа №1

 

Разработка приложений с помощью PHP

 

Цель работы: получить практические навыки развертывания и базовой настройки АМР-платформы, изучить функции PHP для получения данных формы, работы со строками и массивами.

 

Теоретические сведения

 

Виртуальная платформа AMP = Apache + MySQL + PHP.

АМР это не совсем платформа, скорее среда выполнения. Но под неё написано большинство WEB-приложений. Поэтому решено, что AMP – это платформа для WEB-приложений. На AMP работают CMS, различные движки блогов, Интернет магазинов, такие как Joomla, WordPress. Все WEB приложения работают в определённой среде, необязательно AMP, это может быть и среда Tomcat, GlassFish, JBoss при использовании Java.

Apache является кроссплатформенным ПО, поддерживая операционные системы GNU/Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

Программа на PHP (да и на любом другом языке программирования) – это набор команд (инструкций). Обработчику программы (парсеру) необходимо как-то отличать одну команду от другой. Для этого используются специальные символы – разделители. В PHP инструкции разделяются так же, как и в Cи или Perl, – каждое выражение заканчивается точкой с запятой.

Закрывающий тег «?>» также подразумевает конец инструкции, поэтому перед ним точку с запятой не ставят. Например, два следующих фрагмента кода эквивалентны:

1.php (расположить на сервере Webservers/home/localhost/www/1.php)
 
<?php
echo "Hello, world!"; // точка с запятой в конце команды обязательна
?>

 

Переменная в PHP обозначается знаком доллара, за которым следует ее имя. Например:

$my_var

Имя переменной чувствительно к регистру, т.е. переменные $my_var и $My_var различны.

Имена переменных соответствуют тем же правилам, что и остальные наименования в PHP: правильное имя переменной должно начинаться с буквы или символа подчеркивания с последующими в любом количестве буквами, цифрами или символами подчеркивания.

<?php
$first = ' Text '; // Присваиваем $first значение  ' Text '
$second = $first; // Присваиваем $second значение  переменной $first
$first = ' New text '; // Изменяем значение $first  на ' New text '
echo "Переменная с именем first " .
     "равна $first <br>";    // выводим значение $first
echo "Переменная с именем second " .
     "равна $second"; // выводим значение $second
?>

Результат работы этого скрипта будет следующим:

Переменная с именем first равна New text 
Переменная с именем second равна Text 

 

Массив – это тип данных, с данными этого типа должны быть определены операции. Какие же операции можно производить с массивами? Массивы можно складывать и сравнивать.

Определить массив можно с помощью конструкции array() или непосредственно задавая значения его элементам.

array ([key] => value,
       [key1] => value1, ... )

Языковая конструкция array() принимает в качестве параметров пары ключ => значение, разделенные запятыми. Символ => устанавливает соответствие между значением и его ключом. Ключ может быть как целым числом, так и строкой, а значение может быть любого имеющегося в PHP типа. Числовой ключ массива часто называют индексом. Индексирование массива в PHP начинается с нуля. Значение элемента массива можно получить, указав после имени массива в квадратных скобках ключ искомого элемента.

Складывают массивы с помощью стандартного оператора «+». Вообще говоря, эту операцию по отношению к массивам точнее назвать объединением. Если у нас есть два массива, $a и $b, то результатом их сложения (объединения) будет массив $c, состоящий из элементов $a, к которым справа дописаны элементы массива $b. Причем, если встречаются совпадающие ключи, то в результирующий массив включается элемент из первого массива, т.е. из $a. Таким образом, если складываются массивы в языке PHP, от перемены мест слагаемых сумма меняется.
<?
$a = array("и"=>"Информатика",      "м"=>"Математика");
$b = array("и"=>"История","м"=>"Биология", "ф"=>"Физика");
$c = $a + $b;
$d = $b + $a;
print_r($c); 
 
/* получим: Array([и]=>Информатика  [м]=>Математика [ф]=>Физика) */
print_r($d); 
/* получим: Array([и]=>История   [м]=>Биология [ф]=>Физика) */
?>

Массив в PHP представляет собой упорядоченную карту – тип, который преобразует значения в ключи. Этот тип оптимизирован в нескольких направлениях, поэтому вы можете использовать его как собственно массив, список (вектор), хеш-таблицу (являющуюся реализацией карты), стэк, очередь и т.д. Поскольку вы можете иметь в качестве значения другой массив PHP, можно также легко эмулировать деревья.

Функция in_array
in_array("искомое значение","массив", 
        ["ограничение на тип"]);

позволяет установить, содержится ли в заданном массиве искомое значение. Если третий аргумент задан как true, то в массиве нужно найти элемент, совпадающий с искомым не только по значению, но и по типу. Если искомое значение – строка, то сравнение чувствительно к регистру.

Например, имеется массив не изученных нами языков программирования. Мы хотим узнать, содержится ли в этом массиве язык PHP. Напишем следующую программу:

<?php
$langs = array("Lisp","Python","Java",
               "PHP","Perl");
if (in_array("PHP",$langs,true)) 
echo "Надо изучить PHP<br>"; // выведет сообщение "Надо изучить PHP"
if (in_array("php",$langs)) 
    echo "Надо бы изучить php<br>";
// ничего не выведет, поскольку в массиве есть строка "PHP", а не "php"
?>
            

В качестве искомого значения этой функции может выступать и массив. Правда, это свойство было добавлено только начиная с PHP 4.2.0.

Например:

<?php
$langs = array("Lisp","Python",array("PHP","Java"),"Perl");
if (in_array(array("PHP","Java"),$langs))
  echo "Надо бы изучить PHP и Java<br>";
?>
            
Функция array_search

Это еще одна функция для поиска значения в массиве. В отличие от in_array в результате работы array_search возвращает значение ключа, если элемент найден, и ложь – в противном случае. А вот синтаксис у этих функций одинаковый:

array_search("искомое значение","массив", 
            ["ограничение на тип"]);

Сравнение строк чувствительно к регистру, а если указан опциональный аргумент, то сравниваются еще и типы значений. До PHP 4.2.0, если искомое значение не было найдено, эта функция возвращала ошибку или пустое значение NULL.

<?php
$langs = array("","Lisp","Python","Java",    "PHP","Perl");
if (!array_search("PHP",$langs)) 
    echo "Надо бы изучить PHP<br>";
else {
  $k = array_search("PHP",$langs);
  echo "PHP я изучил $k-м";
}
?>

В результате мы получим строчку:  PHP я изучил 4-м

Очевидно, что эта функция более функциональна, чем in_array, поскольку мы не только получаем информацию о том, что искомый элемент в массиве есть, но и узнаем, где именно в массиве он находится. А что будет, если искомых элементов в массиве несколько? В таком случае функция array_search() вернет ключ первого из найденных элементов. Чтобы получить ключи всех элементов, нужно воспользоваться функцией array_keys().

 

Считывание данных формы:

my1.php

<?php

print "hello! ";

?>

<form action=my1.php method=post>

         Вввод имени  <input type=text name=login>

        <br> <input type=submit name=ok value=Отправить>

</form>

<?php

$method = $_SERVER["REQUEST_METHOD"]; // получить метод

$name=$_REQUEST["login"]; // получение данных из поля login

echo "<br>Вы ввели имя $name " ;

echo "<br>Данные передали по методу $method";

?>

 

 

Задание к работе:

Ознакомиться с теоретическим материалом.

 Cоздать скрипт на php для выполнения ввода информации в элементы формы, обработать введены данные, выдать информацию пользователю. Использовать элементы диалога таблицы 1.

Оформить отчет согласно требованиям.

 

Таблица 1- Индивидуальное задание для выбора элементов диалога

Текст задания

Текст задания

1

Text, password, textarea

7

Radio, select

2

Select, textarea

8

Text, password

3

radio, textarea

9

reset, select

4

Image (кнопка), textarea

10

Text, radio

5

Text, select, reset

11

Select, text

6

Text, checkbox

12

Radio, text

 

Отчет должен содержать:

 

1     Название и цель работы.

2     Ход работы с детальным описанием выполненных действий с рисунками, листингом кода.

3     Экранные формы браузера с загруженными страницами.

4     Выводы о проделанной работе.

 

Вопросы для подготовки к защите работы:

1      Какие элементы диалога можно располагать на форме?

2     Методы передачи данных формы?

3     Как обработать данные, введенные в элементы диалога?

4     Можно ли передавать данные формы разным модулям? Как организовать такой вид передачи?

5     Какие вы знаете функции для работы со строками?


Скачано с www.znanio.ru