>>>

Проектирование, разработка и оптимизация веб-приложений

PHP. Лабораторные работы

Установка PHP

Для выполнения PHP и отладки PHP-программ необходим набор программных средств состящих из: Apach, PHP, MySql, эмулятор почтового сервера. Наиболее простое решение это пакет Denwer для Windows. Для написания и редакторования PHP-программ идеальным решением является PhpStorm. И если Denwer является совершенно бесплатным програмным продуктом, то PhpShtorm – это Trial-версия на 30 дней, после которых нужно или купить лицензию или погуглить, как продлить ещё на 30 дней.

Вам необходимо скачать и установить Denwer и PhpStorm. Создать новый проект с названием new.dev, создать файл index.php, добавить в него вывод на экран с помощью оператора echo текст "Это моя первая программа на PHP."

Элементы языка

  1. Написать программу, которая содержит не менее 5-и переменных. Присвоить им значения разных типов и с помощью функции gettype() вывести тип каждой переменной на экран браузера.
  2. Присвоить значения двум переменным. С помощью операторов сравнения проверить, удовлетворяет ли первая переменная слудующим условиям:
    • равна второй;
    • меньше второй;
    • меньше или равна второй;
    • больше второй.

Управление потоком

  1. C помощью инструкции if вывести на экран строку "Для молодежи", если переменная $age находится в диапазоне от 18 до 30. Если значение переменной вне этого диапазона, то вывести строку "Для всех возрастов".
  2. Сделать то же самое, но если переменная $age находится в диапазоне от 1 до 17, то вывести строку "Для детей".
  3. Написать цикл while, который будет выводить на экран все нечетные числа от 0 до 50.
  4. Сделать то же самое с помощью цикла for.

Массивы

  1. Создать массив, содержащий названия фильмов, организованных по жанрам. пусть это будет ассоциированный массив, в котором имена полей будут жанрами ("мелодрама", "боевик", "детектив" и пр.), а элементами – названия фильмов.
  2. Просмотреть созданный массив в цикле, выводя название жанра и связанные с ним фильмы на экран.

Функции

  1. Создать функцию, которая выводит текст с разным размером шрифта. Функция имеет два аргумента: текстовая строка и размер шрифта.
  2. Создать функцию, которая принимает четыре текстовые строки, а выводит html-код таблицы, где каждая из исходных строк расположена в отдельной ячейке.

Строки

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

Объектное программирование

  1. Переработать класс Table http://htmlweb.ru/php/php6.php пример 3 для вывода в формате таблицы с тегами table, th, tr, td
  2. Добавить закрытие тегов tr, th, td в примере 6 http://htmlweb.ru/php/php6.php
  3. Создать класс с именем baseClass, в свойствах которого сохраняются два числа. Написать к нему метод calculate(), который выводит эти числа на экран.
  4. Создать класс с именем addCalc, производный от класса baseClass. Переопределить его метод calculate() так, чтобы он выводил на экран сумму чисел.
  5. Создать класс с именем minusCalc, производный от класса baseClass. Переопределить его метод calculate() так, чтобы он выводил на экран разность первого и второго чисел.
  6. Создать класс содержащий static метод _GetVar(id, свойство), который создает объект класса и возвращает значение свойтва переданного во втором параметре. Это задание на понимание различий статических и динамических методов. При обращении к static методу нужно создать(new) новый экземпляр класса получить у него свойство, переданное в качестве параметра и вернуть его.
  7. Создать класс в котором будут производиться запись и чтение любых свойств этого класса. Использовать массив со свойствами и методы-перехватчики __get, __set, __unset, __isset
    Отдокументровать 3 свойства с помощью @property phpDoc
  8. Определить волшебный метод Sum(a,b) - сумирования двух "волшебных" свойств переданных в параметре с помощью __call. Отдокументровать этот метод, определенный с помощью phpDoc

Формы

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

Файлы

  1. Написать программу, которая спрашивает у пользователя его имя и фамилию и сохраняет эти данные в файл dataFile.
  2. Написать программу, которая читает данные из файла dataFile и выводит на экран, разделив на пронумерованные строки.
  3. Необходимо реализовать блокировку на доступ к некоторым данным для двух параллельно запущенных процессов. Если один из процессов поставил блокировку, второй процесс не имеет доступа к данным пока блокировка не будет снята. Реализовать средствами работы с файлами PHP: test1.php и test2.php хотят:
    • получить доступ к файлу test.txt (установить блокировку)
    • прочитать содержимое (в каждой строчке записано число)
    • просуммировать все числа
    • записать сумму в конец файла
    • снять блокировку
    В случае если блокировка уже установлена, скрипт должен ждать снятия блокировки. Изначальное содержимое test.txt:
       	1
            2
            3

MySQL

  1. Создать БД с тремя полями:
    • адрес электронной почты (50 символов),
    • текст сообщения (250 символов),
    • дата и время отправления.
    Написать программу, с помощью которой пользователи могут заполнить эту БД.
  2. Написать программу, выводящую информацию из БД, созданной в предыдущем упражнении.
  3. Написать систему хранения книг в БД. Меня волнуют названия книг и авторы — больше ничего хранить не надо. Предложите структуру таблиц. Учтите, что книга может быть написана несколькими соавторами. Получите список книг, которые написаны 3-мя со-авторами. То есть получить отчет «книга — количество соавторов» и отфильтровать те, у которых со-авторов меньше 3х. Cделайте это одним SQL запросом.
  4. Есть база: фильмы и страны, у одного фильма может быть много стран производителей, надо построить базу. Нерадивый программист удалял фильмы, но не подчистил таблицу связи. Надо найти и удалить все мусорные записи которые остались в таблице связи.

Cookie

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

Сессии

  1. Написать программу сохранения персональных настроек пользователя (ник и фон страниц) c использованием функций управления сессией.
  2. Написать программу, которая применяет функции управления сессией для запоминания того, какие страницы уже посещались пользователем. Вывести список ссылок на все посещенные страницы.
Размер шрифта:
А
А
А
Цвет сайта:
A
A
A
Изображение:
Вкл.
Выкл.
Обычная версия