
- •В.С. Романчик
- •Глава 2. Использование php.
- •Глава 3.
- •Введение
- •Возможности php.
- •Инструменты для разработки
- •Как php работает
- •Глава 1. Язык php Типы данных
- •Массивы и инициализация массивов
- •Объектно-ориентированное программирование в php Основные понятия ооп
- •Классы и Объекты
- •Конструкторы и деструкторы
- •Наследование классов и интерфейсов
- •Магические методы
- •Обработка ошибок
- •Ошибки php и директива error_reporting
- •Чтение и запись бинарных файлов
- •Работа с каталогами в рнр
- •MySql – сервер: бд1; бд2; бд3; бд4;
- •Язык запросов sql
- •Операция соединения.
- •Команды sql для создания баз данных и таблиц
- •Выборка данных из таблиц бд
- •Работа с MySql (сохранение данных в базе данных).
- •Работа с MySql занесение и получение данных из базы данных
- •Некоторые улучшения в организации работы с данными
- •Передача данных от клиента к серверу и от сервера клиенту
- •Клиентские методы http get, post, head
- •Обработка html-форм и передача переменных в скрипт.
- •Передача значений переменных по методу get
- •Ниже рассмотрен еще один пример передачи данных из клиентской формы на сервер по методу get
- •Передача данных на сервер по методу post
- •Php и обработка различных форм
- •Примеры обработки форм
- •Работа с e-mail
- •Отправка почты на php (Функция mail)
- •Cookies-наборы: сохраненное состояние
- •Сессии (Сеансы) Переменные сеанса
- •Отмена регистрации сеансовых переменных
- •Работа с сеансовыми переменными
- •Постоянные данные, использующие сеансы и cookie-наборы
- •Вывод графических данных с помощью рнр Основной способ создания изображений
- •Получение информации об изображении
- •Функции рисования прямых и кривых линий
- •Заливка изображений
- •Работа с палитрой изображения
- •Удаление и изменение цветов палитры
- •Создание прозрачности в изображениях
- •Рисование с помощью кистей
- •Использование специальных стилей для заливки
- •Использование шрифтов и вывод строк
- •Манипулирование и копирование изображений
- •Создаём графический информер на php
- •Слияние изображений с помощью gd
- •Включения удаленных файлов
- •Различные приложения и полезные скрипты на php
- •Пример. Определение типа и версии браузера
- •Генератор паролей на php
- •Время выполнения скрипта
- •Календарь
- •Загрузка файла от клиента на сервер
- •Работа с ftp на уровне php
- •Сбор статистики на php
- •Проверка ввода емайл
- •Чтение почты через Web-интерфейс
- •Разработка собственных листов рассылки
- •Рассылаем письма
- •Добавляем адреса в список рассылки
- •Редактирование адресов
- •Автоответчик
- •Почтовые функции в рнр
- •Задания для выполнения
- •Приложение 1. Протокол передачи гипертекстов http
- •Клиентские методы и заголовкиHttp
- •Указатель ссылки ("Referer")
- •Медиа-типы
- •Кодирование
- •Безопасность и авторизация
- •Кэширование содержимого http на стороне клиента
- •Http идентификация с php
- •Сжатие данных в протоколе http
- •Модель ajax: между загруженной в браузер страницей и сервером появляется прослойка - уровень ajax, который обеспечивает следующую последовательность выполнения приложения.
- •Класс xmlHttpRequest
- •Методы класса xmlHttpRequest
- •Свойства класса xmlHttpRequest
- •Создание экземпляра объекта xmlHttpRequest
- •Использование dom
- •Проблема с кешированием
- •Информируйте пользователя
- •Нет принципов написания кода
- •Аутентификация средствами php
- •Отделение клиентская части программы от серверной части и шаблоны
- •Использование шаблонов в php
- •Шаблоны подстановки
- •Создаем свои шаблоны в php
- •Теги, атрибуты, значения
- •Структура документа
- •Разрыв строки
- •Предварительное форматирование
- •Комментарии
- •Физическая и логическая разметка документа
- •«Физические» теги:
- •«Логические» теги:
- •Специальные символы
- •Графика
- •Формы html
- •Метатеги
- •Способы включения каскадных таблиц стилей
- •Синтаксис
- •Группирование
- •Наследование
- •Множественные классы.
- •Селекторы идентификаторов (id-селекторы).
- •Комментарии
- •Свойства шрифтов.
- •Свойства текста.
- •Представление документа в виде специальных областей – блоков
- •Отступы, поля, позиционирование.
- •Границы элементов.
- •Визуальные эффекты
- •Свойства списков
- •Свойства таблиц
- •Псевдоклассы
- •Псевдостили текста
- •Псевдоэлементы
- •Различные свойства
- •Css. Примеры
- •Типы данных
- •Ассоциированные массивы
- •Операторы
- •Подпрограммы
- •Приложение 11. Популярные веб-приложения и фреймворки
- •Фреймворки
Ассоциированные массивы
В ассоциированных массивах или кэшах в качестве индекса можно использовать любой скалярный тип данных.
%associativeArray = ("Jack A.", "Dec 2", "Joe B.",
"June 2", "Jane C.", "Feb 13");
$associativeArray{"Jennifer S."} = "Mar 20";
print "Joe's birthday is: " . $associativeArray{"Joe B."} . "\n";
print "Jennifer's birthday is: " . $associativeArray{"Jennifer S."} . "\n";
Будет выведено:
Joe's birthday is: June 2
Jennifer's birthday is: Mar 20
Ассоциированные массивы, так же как и обычные, представляют собой набор скалярных данных, отдельные элементы которого выбираются по индексному строковому значению. Элементы АМ не упорядочены, поэтому использовать их несколько сложнее, чем обычные, поскольку все строки (ключи) необходимо хранить вместе со значениями, на которые они ссылаются, например
%fruit=(”Green”,”Apple”,”Orange”,”Orange”,”Yellow”,”Banana”);
print $fruit{”Yellow”};
В результате из-за структуры АМ «ключ, значение», получается «Banana». Ключом также является «Green», которому будет соответствовать элемент массива «Apple».
Ассоциативные массивы (АМ) упрощают работу программистов с базами данных (БД). Для лучшего понимания использования АМ следует сопоставить ключи с ID в таблицах реляционных баз данных, которые представляют собой практически одно и то же. Рассмотрим пример.
%Folk = ('BG', 'Bill Gates',
'PR', 'SuperProgramer',
'DS', 'Djon Smith');
%State = ('BG', 'California',
'PR', 'Minsk',
'DS', 'Washington' );
%Job = ('BG', 'work in Microsoft',
'PR', 'work as programmer',
'DS', 'work as writer');
foreach $person ('PR', 'BG', 'DS') {
print "My name is $Folk{$person},\n",
"I live in $State{$person},\n",
"I $Job{$person} there.\n\n";
}
Будет выведено:
My name is SuperProgramer,
I live in Minsk,
I work as programmer there.
My name is Bill Gates,
I live in California,
I work in Microsoft there.
My name is Djon Smith,
I live in Washington,
I work as writer there.
Содержимое массивов можно представить и в другой форме, например : %Job = (‘BG’ => ‘work in Microsoft’, ‘PR’ => ‘work as programmer’, ‘DS’ => ‘work as writer’);
Индексы и элементы массива можно заключать как в апострофы, так и в кавычки. Чтобы перебрать все значения АМ, можно использовать оператор цикла foreach. Можно обращаться к ключам и значениям с помощью операторов keys и values.
Специальный ассоциативный массив %ENV хранит содержимое всех переменных, индексированных по имени. Так, %ENV{‘PATH’} возвращает текущее значение пути поиска. Существует также функция each, приводящая список, который состоит из двух элементов — ключа и значения. При каждом следующем вызове она возвращает новую пару, например
while (($key,$value) = each %ENV) {
print ”$key = $value\n”;
}
Строки
Двойные ковычки в строках
@array = (1..5);
print "@array\n";
Будет выведено:
1 2 3 4 5
Если вы хотите вывести значение переменной, а затем добавить символы в конце с помощью кода:
$word = "large";
print "He was a $wordr fellow.";
Будет выведено:
He was a fellow.
Переменная $wordr трактуется неправильно, если вы хотите вывести строку "He was a larger fellow". Эта проблема может быть исправлена с помощью операции кантактенации следующим образом:
$word = "large";
print "He was a " . $word . "r fellow.";
Вы можете также использовать круглые скобки, чтобы сообщить где имя начинается и заканчивается:
Использование специальной переменной $" при работе со строками. В следующем примере переменная $" = "," используется для вывода элементов массива, разделенных запятыми.
$" = ",";
@array = (1..5);
print "@array\n";
Будет выведено:
1,2,3,4,5
Вы можете использовать любой другой символ, например $" = "; " выведет точку с запятой и пробел.