WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Денис Колисниченко

3-е издание

Санкт-Петербург

«БХВ-Петербург»

2011

УДК 681.3.06

ББК 32.973.26-018.2

К60

Колисниченко Д. Н.

К60 PHP 5/6 и MySQL 6. Разработка Web-приложений. —

3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. — 528 с.: ил.

+ CD-ROM — (Профессиональное программирование)

ISBN 978-5-9775-0704-2 Даны начала программирования на PHP: установка и настройка PHP и MySQL, выбор редактора PHP-кода, основы синтаксиса и самые полезные функции PHP.

Рассмотрено создание дополнительных модулей — фотогалереи, RSS-граббера, гостевой книги, собственного шаблонизатора, применение шаблонизатора Smarty, работа с SMTP, POP, MP3 и сервисом reCAPTCHA. В качестве хранилища данных использованы два сервера — самая современная версия MySQL 6 и "суперлегкий" сервер баз данных SQLite. Показано, как с помощью технологии Ajax добиться обновления данных на странице без ее перезагрузки. Представлены два реальных проекта: универсальная CMS и система продажи недвижимости.

В третьем издании подробно рассмотрена программа phpMyAdmin, интеграция PHP-сценариев и Flash-приложений, оптимизация PHP-кода, добавлен новый материал в 12 глав. Прилагаемый компакт-диск содержит дополнительные главы, все листинги из книги, а также необходимое программное обеспечение.

Для Web-программистов УДК 681.3. ББК 32.973.26-018. Группа подготовки издания:

Екатерина Кондукова Главный редактор Евгений Рыбаков Зам. главного редактора Григорий Добин Зав. редакцией Владимир Красовский Редактор Ольги Сергиенко Компьютерная верстка Зинаида Дмитриева Корректор Инны Тачиной Дизайн серии Елены Беляевой Оформление обложки Николай Тверских Зав. производством Лицензия ИД № 02429 от 24.07.00. Подписано в печать 31.03.11.

Формат 70 100 /16. Печать офсетная. Усл. печ. л. 42,57.

Тираж 2000 экз. Заказ № "БХВ-Петербург", 190005, Санкт-Петербург, Измайловский пр., 29.

Санитарно-эпидемиологическое заключение на продукцию № 77.99.60.953.Д.005770.05.09 от 26.05.2009 г. выдано Федеральной службой по надзору в сфере защиты прав потребителей и благополучия человека.

Отпечатано с готовых диапозитивов в ГУП "Типография "Наука" 199034, Санкт-Петербург, 9 линия, ISBN 978-5-9775-0704-2 © Колисниченко Д. Н., © Оформление, издательство "БХВ-Петербург", Оглавление Введение

Что нового в 3-м издании

Немного истории

PHP 6

MySQL

Поддержка читателей

Ч А С Т Ь I. ТЕОРИЯ

РАЗДЕЛ 1. БЫСТРЫЙ СТАРТ

Глава 1. Установка необходимого программного обеспечения

1.1. Нужно ли устанавливать программное обеспечение

1.2. Выбор PHP-редактора и FTP-клиента

1.3. Установка Apache + PHP + MySQL в Windows

1.4. Установка Apache + PHP + MySQL в Linux

1.5. Несколько советов

Глава 2. Первая PHP-программа

2.1. Ваша первая программа

2.2. Запуск PHP-программы

2.3. Вывод текста без echo

2.4. Совместимость с PHP 4

Глава 3. Основы синтаксиса PHP

3.1. Переменные

3.1.1. Правила объявления переменных. Имена переменных

3.1.2. Типы данных переменных

3.1.3. Булевы переменные

3.1.4. Операции над переменными

3.1.5. Ссылки

3.2. Константы

3.3. Выражения и операции

3.3.1. Что такое выражение

3.3.2. Арифметические операции

3.3.3. Логические выражения

3.3.4. Приоритеты операций

3.3.5. Операторы эквивалентности == и ===

3.3.6. Операции со строками

3.4. Условный оператор

3.5. Циклы

3.5.1. Цикл со счетчиком

3.5.2. Цикл while

3.5.3. Цикл do-while

3.5.4. Принудительное завершение цикла и пропуск итерации

3.6. Оператор выбора switch-case

РАЗДЕЛ 2. ПЕРЕДАЧА ПАРАМЕТРОВ PHP-ПРОГРАММАМ

Глава 4. Методы GET и POST

4.1. Интерфейс CGI

4.2. Метод GET

4.3. Метод POST

Глава 5. Протокол HTTP и интерфейс CGI

5.1. Специальные переменные окружения CGI

5.2. Заголовки протокола HTTP

5.3. Коды ответов протокола HTTP

Глава 6. Передача параметров посредством HTML-формы

6.1. Создание простейшей формы и ее обработка в сценарии

6.2. Создание пользовательского интерфейса с помощью формы

6.2.1. Ввод текста. Теги INPUT и TEXTAREA

6.2.2. Зависимые и независимые переключатели

6.2.3. Списки выбора

6.2.4. Форма для передачи файлов

6.2.5. Кнопки

6.3. Проверка параметров формы

6.3.1. Проверка корректности e-mail

6.3.2. Проверка правильности номера кредитной карты

6.3.3. Удаление лишних пробелов

6.4. Защита от спама с помощью CAPTCHA

6.5. Форма поиска в Яндексе

Глава 7. Запоминание параметров с помощью Cookies и сессий

7.1. Что такое Cookies и как с ними работать

7.2. Механизм сессий



7.2.1. Сессии и Cookies: преимущества и недостатки

7.2.2. Для чего нужны сессии

7.2.3. Как работает механизм сессий

7.2.4. Обход Cookies

7.3. Массивы и Cookies

Глава 8. Отдельное слово о директиве register_globals

8.1. Почему опасно использовать register_globals

8.2. Если register_globals отключена

8.3. PHP 6 и register_globals

РАЗДЕЛ 3. МАССИВЫ И СПИСКИ

Глава 9. Основные операции над массивами и списками

9.1. Массив и список. Цикл foreach

9.2. Функции list() и array()

9.3. Удаление массива

9.4. Слияние массивов

9.5. Функция print_r()

Глава 10. Функции сортировки массивов

10.1. Функции для сортировки массивов

10.2. Функция sort() — сортировка списка

10.3. Функция asort() — сортировка массива по значениям

10.4. Функция ksort() — сортировка по ключам

10.5. Функции array_reverse() и shuffle()

10.6. Собственная функция сортировки

10.7. Натуральная сортировка

Глава 11. Особые операции над массивами

11.1. Добавление и удаление элементов массива

11.2. Упаковка переменных в массив и их извлечение

11.3. Получение части массива

11.4. Функции автоматического заполнения массива

11.5. Сравнение массивов

11.6. Полезные операции над массивом

11.6.1. Вычисление суммы и произведения всех элементов массива

11.6.2. Проверка существования элемента в массиве

11.6.3. Получение случайного элемента из массива

11.6.4. Удаление дубликатов из массива

11.6.5. Получение значений и ключей массива

11.6.6. Замена местами значений и ключей

11.6.7. Подсчет значений в массиве

11.6.8. Замена в массиве

11.6.9. Поиск в массиве

11.6.10. Прогулка по массиву

РАЗДЕЛ 4. ФУНКЦИИ В PHP

Глава 12. Полезные стандартные функции

12.1. Генератор случайных чисел

12.2. Дата и время

12.2.1. Кратко о timestamp

12.2.2. Функции strtotime() и checkdate()

12.2.3. Вывод даты

12.3. Математические функции

Глава 13. Функции для работы со строками

13.1. Основные строковые функции

13.2. Специальные функции замены

13.3. Преобразование строки

13.4. Функции преобразования кодировок

13.5. Функции для работы с отдельными символами строки

13.6. Функция md5() и другие функции шифрования/хэширования

13.7. Функция explode(): выделение подстрок

13.8. Статистические функции

13.9. Функции вывода текста

13.10. Установка локали

13.11. Форматирование чисел и денежных величин

Глава 14. Работаем с файлами и каталогами

14.1. Права доступа в UNIX

14.2. Чтение файла

14.2.1. Использование функций fopen() и fread()

14.2.2. Использование функции file(): построчное чтение файла

14.2.3. Чтение всего файла: функция file_get_contents()

14.3. Запись файла

14.4. Создание временных файлов

14.5. Работа с CSV-файлами

14.6. Специальные функции для работы с файлами

14.6.1. Функции для работы с именами файлов

14.6.2. Работа с правами доступа

14.6.3. Копирование, переименование и удаление файлов

14.6.4. Время доступа к файлу

14.6.5. Другие полезные функции

14.7. Совместный доступ к файлу

14.8. Функции для работы с каталогами

Глава 15. Вывод графических изображений средствами PHP

15.1. Библиотека GD

15.1.1. Получение информации об изображении

15.1.2. Конвертирование графических форматов

15.1.3. Вывод текста поверх картинки

15.1.4. Прозрачность

15.2. Изменение размера изображения

15.3. Создание водяных знаков

Глава 16. Работа с сетевыми сокетами в PHP. Сетевые функции

16.1. Еще раз о том, что такое сокет

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

16.3. Пример использования сокетов

16.4. Блокирующий и неблокирующий режимы сокета

16.5. DNS-функции

Глава 17. Собственные функции

17.1. Зачем нужны собственные функции

17.2. Особенности функций в PHP

17.3. Объявление функции

17.4. Области видимости функции

17.5. Вложенность функций

17.6. Переменное число аргументов

17.7. Передача массивов в качестве параметров

РАЗДЕЛ 5. СЕРВЕРЫ БАЗ ДАННЫХ MYSQL 6 И SQLITE

Глава 18. Основы SQL

18.1. Немного истории

18.2. Преимущества SQL

18.3. Как выглядят запросы

18.4. Что такое база данных

18.5. Создание таблиц

18.6. Добавление записей в таблицу

18.7. Обновление записей

18.8. Выборка записей

18.9. Удаление записей

18.10. Встроенные функции

18.11. Группировка записей. Сложные запросы

Глава 19. Функции для работы с MySQL

19.1. Подключение к серверу MySQL

19.2. Несколько MySQL-соединений

19.3. Передача запросов серверу

19.4. Работа с базой данных. Создание базы данных

19.5. Функция mysql_real_escape_string($content)

Глава 20. Альтернативная база данных SQLite

20.1. MySQL vs SQLite: что лучше

20.2. Открытие базы данных

20.3. Передача запросов

20.4. Работа с результатом запроса

20.5. Список PHP-функций для работы с SQLite

Глава 21. Полезные приемы при работе с MySQL 6

21.1. Выбор кодировки

21.2. Сортировка: вывод новинок. Вывод случайных записей

21.3. Постраничный вывод таблицы

РАЗДЕЛ 6. ИНСТРУМЕНТЫ ДЛЯ СОЗДАНИЯ СЛОЖНЫХ ПРОЕКТОВ.... Глава 22. Разработка собственного шаблонизатора

22.1. Организация файлов и каталогов проекта

22.2. Выносим параметры в отдельный файл

22.3. Подключение дополнительных файлов

22.3.1. Инструкции include и require

22.3.2. Альтернативный способ подключения сценариев

22.3.3. Инструкции include_once и require_once

22.4. Шаблоны

Глава 23. Шаблонизатор Smarty

23.1. Что такое Smarty

23.2. Установка Smarty

23.3. Создание setup.php

23.4. Разработка шаблонов Smarty

23.4.1. Комментарии в шаблонах

23.4.2. Переменные в Smarty

23.4.3. Файлы конфигурации шаблонов

23.4.4. Служебная переменная {$smarty}

23.4.5. Модификаторы переменных

23.4.6. Стандартные (встроенные) функции Smarty

Функции {include} и {insert}

Функция {foreach}

Функции {if}, {elseif}, {else}

Функция {capture}

Функция {php}

Функция {strip}

23.4.7. Пользовательские функции Smarty

Функция {assign}

Функция {cycle}

Функция {fetch}

Функции {html_checkboxes} и {html_radios}

Функция {html_image}

Функция {html_select_date}

Функция {html_select_time}

Функция {html_table}

23.5. Smarty для программиста

23.5.1. Специальные переменные

23.5.2. Полезные методы класса Smarty

Глава 24. Объектно-ориентированное программирование

24.1. Основы ООП

24.2. Классы и объекты

24.3. Конструкторы и деструкторы класса

24.4. Наследование классов. Полиморфизм

24.5. Новые возможности PHP 5/6

24.5.1. Область видимости членов класса

24.5.2. Абстрактные классы и методы

24.5.3. Служебное слово final

24.5.4. Клонирование объектов

24.5.5. Обработка исключительных ситуаций

24.5.6. Константы-члены класса

24.5.7. Статические члены класса

24.5.8. Оператор instanceof

24.5.9. Итераторы

24.5.10. Пространства имен

Глава 25. Механизм сессий

25.1. Для чего нужны сессии

25.2. Как работает механизм сессий

25.3. Обход Cookies

25.4. Сценарий аутентификации

Глава 26. Введение в PEAR

26.1. Серьезные проекты и PEAR

26.2. Пример использования класса DB

Глава 27. Контроль версий

27.1. Выбор системы контроля версий

27.2. Практическое использование TortoiseHG (Mercurial)

27.3. Просмотр внесенных изменений

Глава 28. Тестирование PHP-сценариев

28.1. Программа работает, но не так, как нам нужно

28.2. "Самодельные" точки останова

28.3. Система автоматического тестирования

28.4. Директива error_reporting

Ч А С Т Ь II. ПРАКТИКА

РАЗДЕЛ 7. РАЗРАБОТКА ОСНОВНЫХ ЭЛЕМЕНТОВ САЙТА

Глава 29. Загрузка файлов на сервер

29.1. Что нужно знать о загрузке файлов на сервер

29.2. Реализация загрузки файла

29.3. Загрузка нескольких файлов

29.4. Проблемы при загрузке файлов

Глава 30. Использование FTP-функций

30.1. Функции для работы с FTP

30.2. Примеры использования FTP-функций

Глава 31. Отправка и прием почты

31.1. Отправка почты средствами PHP — функция mail()

31.2. Отправка писем с вложениями — класс HtmlMimeMail

31.2.1. Отправка сообщения

31.2.2. Проблемы при отправке сообщения

31.2.3. MIME-типы

31.3. Класс PHPMailer. Разработка сценария автоматической рассылки прайс-листа......... 31.4. Получение писем по протоколу POP3

Глава 32. Работа с RSS: получаем новости на сайт

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

32.2. Формат RSS-файла

32.3. Написание сценария импорта новостей

32.4. Подключение файла import.php к сайту

32.5. Создание граббера новостей

Глава 33. Поиск с использованием регулярных выражений

33.1. Нужно что-то найти...

33.2. Язык регулярных выражений RegEx

33.3. Управляющие конструкции

33.3.1. Квантификаторы

33.3.2. Альтернативный оператор |

33.3.3. Скобки

33.4. Псевдосимволы

33.5. Практическое использование RegEx-функций

33.6. Фильтры, или Конец эры регулярных выражений

Глава 34. Работаем с MP3

34.1. Формат MP3

34.2. Библиотека PEAR

34.3. Вывод ID3-тегов

34.4. Редактирование ID3-тегов

34.5. Удаление тега

Глава 35. Технология Ajax

35.1. Что такое Ajax

35.2. Ваше первое Ajax-приложение

РАЗДЕЛ 8. РАЗРАБОТКА ТИПИЧНОГО САЙТА

Глава 36. Создание простейшего движка сайта

36.1. Планирование движка

36.1.1. Зачем нужно разрабатывать собственный движок

36.1.2. Необходимые нам функции движка

36.1.3. "Принципиальная схема" движка

36.2. Основные функции движка

36.2.1. Разработка TPL-шаблона

36.2.2. Файл настроек

36.2.3. Основной файл CMS — index.php

36.2.4. Проектирование базы данных

Таблица static

Таблица cats

Таблица pages

36.2.5. Иерархическая структура сайта

Алгоритм работы меню

Сценарий menu.php

Вывод содержимого раздела и страницы

36.3. Дополнительные функции движка

36.3.1. Вывод информации из таблицы static

36.3.2. Функция вывода содержимого HTML-файла

36.3.3. Версия для печати

36.4. Где взять листинги этой главы

Глава 37. Создание фотогалереи

37.1. Постановка задачи

37.2. Загрузка изображений на сервер

37.3. Вывод галереи

Глава 38. Гостевая книга

38.1. Пережиток прошлого?

38.2. Разработка базы данных и структура гостевой книги

38.3. Вывод гостевой книги

38.4. Добавление записей в гостевую книгу

38.5. Сервисный сценарий gb_service.php

Глава 39. Интеграция галереи LiveJournal и вашего сайта

39.1. Что такое Живой журнал

39.2. Интеграция фотогалереи LiveJournal и сайта

39.3. Настройка внешнего вида галереи

Глава 40. Создание счетчика сайта

40.1. Постановка задачи

40.2. Файл конфигурации

40.3. Разработка таблиц counter и ipaddr

40.4. Сценарий counter.php

40.5. Сценарий reset_counter.php

Глава 41. Статистика сайта

41.1. Методы сбора статистики

41.2. Программы-анализаторы журналов Web-сервера

41.3. Системы статистики

Глава 42. Голосования (опросы)

42.1. Разработка собственной системы голосования

42.2. Разработка сценария poll_form.php

42.3. Сценарий poll_process.php

42.4. Сценарий poll_results.php

РАЗДЕЛ 9. СЛОЖНЫЙ ПРОЕКТ:

САЙТ ПО ПРОДАЖЕ НЕДВИЖИМОСТИ

Глава 43. Постановка задачи

43.1. Функции будущего проекта

43.2. Разработка базы данных

Глава 44. Разработка основной части сайта

44.1. С чего начать

44.2. Реализация основных функций системы

44.2.1. Аутентификация пользователей

44.2.2. Вывод VIP-объявлений

44.2.3. Вывод объявлений об услугах

44.2.4. Вывод рекламных баннеров

44.2.5. Постраничный вывод объявлений

44.3. На что обратить внимание

Глава 45. Разработка панели администрирования

45.1. Функции панели управления

45.2. Управление VIP-объявлениями

45.3. Массовая отправка электронного сообщения

45.4. Общие операции с базой данных

45.5. Редактирование статей, новостей и контактов

РАЗДЕЛ 10. ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ САЙТА

Глава 46. SSL-соединения

46.1. Защищаем передаваемые данные

46.2. Настройка SSL в DirectAdmin

46.3. SSL-переменные

Глава 47. Защита PHP с помощью конфигурационного файла

47.1. Конфигурационный файл php.ini

47.2. Отключение потенциально опасных функций

47.3. Рекомендованные значения некоторых конфигурационных директив

Глава 48. Защита сайта от атак

48.1. Сайт в опасности

48.2. Два самых распространенных метода взлома

48.3. Межсайтовый скриптинг

48.4. SQL-инъекции

48.5. Флуд

48.6. Защита форума PHPBB2 от спаммеров

ПРИЛОЖЕНИЯ

Приложение 1. Программа phpMyAdmin

Действия над таблицами

Создание новой таблицы. Изменение структуры таблицы

Вставка записей

Обзор таблицы

Выполнение произвольного SQL-кода

Резервное копирование БД

Приложение 2. Flash и PHP

Приложение 3. Оптимизация PHP-кода

П3.1. Правильное использование echo

П3.2. Длина переменных

П3.3. Правильное обращение к элементам массива

П3.4. Циклы

П3.5. Чтение файлов

П3.6. Вывод текста: echo против printf

П3.7. "Лишние" вызовы функций

П3.8. Контрольные замеры

П3.8.1. Чтение файла

П3.8.2. Вывод содержимого файла

П3.9. Выводы

Приложение 4. Описание компакт-диска

Предметный указатель

XIV Оглавление Введение PHP (Hypertext Preprocessor) — один из самых популярных языков программирования, используемый для разработки Web-приложений. В настоящее время PHP поддерживается подавляющим большинством хостинг-провайдеров, что делает его чуть ли не основным языком, с помощью которого можно разработать любой интернет-проект, от простенького сайта до крупного портала.

На PHP написано огромное количество как отдельных скриптов, так и завершенных проектов — форумов, систем управления контентом и др.

Что нового в 3-м издании Начну с самого начала — с главы 1. В ней появилась подробная информация об использовании комплекса программ XAMPP, представляющего собой связку Apache + PHP + MySQL (и много чего еще). Вообще-то XAMPP довольно прост и удобен в использовании и ничем не хуже других подобных проектов (вроде Denwer), но почему-то у начинающих пользователей возникает много вопросов относительно использования этой программы. Поэтому и пришлось рассмотреть ее подробно в главе 1.

В главе 2 вы найдете информацию о директиве open_short_tag и о том, как запустить в PHP 5 старые сценарии, оптимизированные под PHP 3/4.

Современные сайты страдают от спама. Если у вас есть форма добавления комментария или гостевая книга, вам придется бороться со спаммерами. Чтобы облегчить вам жизнь, в главе 6 находятся инструкции по установке CAPTCHA-формы из проекта reCAPTHA (Google). Также в главе 6 приводится код формы поиска Яндекс.

Существенные изменения были произведены в главах 9–13. Теперь в этих главах рассмотрены все полезные PHP-функции, которые обрабатывают массивы и строки. Это не означает, что в книге описаны все возможные функции — для этого есть руководство по PHP. Но в книгу я включил все функции, которые посчитал полезными с точки зрения практического применения. Вы найдете множество полезных примеров использования этих функций на практике.

В главе 31 описан новый класс отправки электронных сообщений PHPMailer и приведен пример сценария автоматической рассылки прайс-листа клиентам абстрактной фирмы. Этот сценарий пригодится вам на практике.

Несколько небольших "багов" было исправлено в движке для сайта, разработка которого рассматривается в главе 36. А в главе 35 представлен второй вариант Ajaxприложения, отправляющего данные на сервер только после нажатия кнопки отправки, что в некоторых случаях оказывается более удобным решением.

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

Особое внимание было уделено предметному указателю. Теперь предметный указатель значительно облегчит поиск нужной вам функции.

В каталоге Edition_1 на прилагаемом диске вы по-прежнему найдете материал, удаленный из 1-го издания. Аналогичного каталога для 2-го издания не будет, поскольку в 3-м издании из книги ничего не удалялось, а, наоборот, был добавлен новый и полезный материал.

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

Немного истории В 1994 г. датский программист Расмус Лердорф (Rasmus Lerdorf) создал надстройку над Perl/CGI (набор скриптов) для вывода и учета посетителей своего сайта и назвал ее Personal Home Page (отсюда и произошло первоначальное название PHP).

Но Perl — довольно медленный интерпретатор, и вскоре его производительности перестало хватать, поэтому разработчик написал на языке C новый интерпретатор и назвал его PHP/FI (Personal Home Page / Form Interpreter). В новом интерпретаторе четко прослеживались черты Perl, например символ доллара в начале имени переменной. Тогда же были заложены черты современного PHP, такие как автоматическая обработка форм, встраиваемость в HTML и др.

В 1997 г. появилась вторая версия — PHP/FI 2.0. Она была установлена примерно на 50 тыс. серверов. С одной стороны, цифра внушительная, но это всего 1% от общего числа интернет-серверов.

В 1998 г. появился PHP 3.0. Именно с этой версии PHP стал рекурсивным акронимом PHP: Hypertext Preprocessor. Третья версия пользовалась существенно бльшим успехом, чем вторая: она была установлена на 10% всех интернетсерверов, а это уже не мало!

PHP 3.0 частенько критиковали за медленное ядро, т. к. сценарии выполнялись ная с PHP 4 интерпретатор транслирует PHP-код во внутреннее представление, а потом выполняет (а не выполняет сценарий строка за строкой, как PHP 3), благодаря чему существенно повысилась производительность сценариев. Четвертая версия PHP появилась в мае 2000 г. Обновления для этой версии PHP выпускались до конца 2007 г. А с августа 2008 г. поддержка PHP 4 была прекращена.

Пятая версия PHP появилась в июле 2004 г. Было переработано ядро Zend, что увеличило эффективность интерпретатора, добавлена поддержка XML, переработана поддержка ООП. Теперь PHP является полноценным объектно-ориентированным языком программирования, а его объектная модель во многом схожа с моделью Java. В данное время доступна версия 5.3, которая пока еще будет поддерживаться, несмотря на наличие шестой версии PHP.

PHP Итак, что же нового в PHP 6? Прежде всего, в шестой версии значительно улучшена поддержка Unicode. Получить список всех функций, поддерживающих Unicode, можно по адресу http://www.php.net/~scoates/unicode/render_func_data.php.

Поддержка Unicode очень важна. Раньше, когда в знаковый генератор можно было загрузить только 256 символов, поддержка разных языков была ограничена, поэтому и были созданы разные кодировки (иногда даже несколько) для одного языка.

Русский язык не стал исключением. Для него было разработано три кодировки:

CP866 (DOS), Windows-1251 (или CP-1251, Windows) и KOI8-R (UNIX/Linux). При использовании разных кодировок всегда есть проблема их конвертирования. Например, символ "Б" во всех этих кодировках имеет разный код.

Первая версия Unicode, представленная в 1991 г., позволяла хранить 65 536 символов. Текущая версия Unicode позволяет хранить 2 147 483 648 символов, чего вполне достаточно для хранения символов всех языков, в частности кириллицы.

Когда все программное обеспечение будет переведено на Unicode (а это произойдет в ближайшем будущем), проблема несовместимости кодировок исчезнет.

Подробно о Unicode вы можете прочитать по адресу http://ru.wikipedia.org/wiki/ Unicode.

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

Кроме того, PHP 6 обеспечивается "родная" (без использования дополнительных классов) поддержка SOAP и XML. Правда, рассмотрение SOAP и XML выходит за рамки этой книги, но все же вы должны знать, что такая поддержка есть уже на уровне PHP.

Вместе с тем некоторые функции из новой версии были удалены. В частности из состава PHP 6 исключены следующие директивы (и выполняемые ими функции):

magic_quotes — управляла экранированием кавычек;

register_globals — регистрировала глобальные переменные;

register_long_arrays — регистрировала длинные массивы;

safe_mode — безопасный режим, но на самом деле он не делал безопаснее сценарии, поэтому его и устранили.

Исключение этих директив позволило сделать PHP-сценарии более защищенными.

Не спорю, с включенными директивами magic_quotes и register_globals программировать было несколько удобнее, и разработчики очень часто жертвовали безопасностью ради комфорта. Сейчас же наоборот — безопасность на первом месте.

MySQL Ни один серьезный Web-проект не обходится без базы данных, ведь хранение данных в файлах давно считается пережитком прошлого, хотя до сих пор можно встретить проекты, работающие по старинке. PHP поддерживает много разных баз данных, но стандартом де-факто является сервер баз данных MySQL. На сегодняшний день доступна уже шестая версия этого популярного сервера. Кроме MySQL в этой книге мы рассмотрим еще одну альтернативную систему управления базами данных — SQLite. Почему именно SQLite? На заре пятой версии PHP ходили слухи, что новая (т. е. пятая на тот момент) версия PHP из-за лицензионных разногласий не будет вообще поддерживать MySQL. Поэтому возникла необходимость в легком и простом сервере баз данных. Им стал SQLite. К счастью, поддержка MySQL не была удалена из PHP 5, и обе последние версии (5 и 6) полностью поддерживают MySQL.

Поддержка читателей Если при чтении книги у вас возникнут какие-либо вопросы, вы всегда можете задать их на форуме сайта www.dkws.org.ua.

ЧАСТЬ

ТЕОРИЯ

РАЗДЕЛ

Глава 1. Установка необходимого программного обеспечения Глава 2. Первая PHP-программа Глава 3. Основы синтаксиса PHP ГЛ АВ А Установка необходимого программного обеспечения 1.1. Нужно ли устанавливать программное обеспечение При написании этой книги я вообще сомневался в целесообразности данной главы.

Почему? Если вы купили эту книгу, значит, со временем собираетесь профессионально заниматься PHP (разрабатывать сайты, сценарии) или же планируете создать собственный сайт на PHP. Следовательно, вам понадобится хостинг с поддержкой PHP. Учитывая то, что PHP-хостинг сейчас стоит очень дешево, как и безлимитный Интернет, то все, что нужно для PHP-разработки, — это какой-нибудь текстовый редактор с поддержкой PHP-синтаксиса.

Все, что вам нужно, — это написать сценарий. В свою очередь, сценарий — это обычный текстовый файл. Как только сценарий будет готов, вам его нужно загрузить по FTP на ваш хостинг и запустить через браузер. При этом совсем не имеет значения, какую операционную систему вы используете: Windows, Linux или даже MacOS.

Ранее имело смысл устанавливать на свой компьютер Apache + PHP + сервер баз данных MySQL. Сейчас можно производить разработку и отладку сценариев непосредственно на сервере. Так даже правильнее, поскольку конфигурации Apache и PHP на локальном и удаленном сервере в 99% случаев будут различны, поэтому при переносе сценариев могут возникнуть нюансы. Какие именно? Начиная с самых безобидных вроде отличающихся параметров базы данных MySQL до разницы в версии PHP. С параметрами базы данных все просто: при переносе сценария с одного сервера на другой не забывайте проверять параметры доступа, иначе ваши сценарии откажутся работать. Чуть позже мы продемонстрируем пример, позволяющий легко избавиться от этой проблемы. А вот с версией PHP и установленными PHP-расширениями вообще могут возникнуть глобальные проблемы. Помню, я столкнулся со следующей проблемой. У меня был отлично работающий проект, отправляющий прайс-листы клиентам одной из поддерживаемых мною организаций. Сценарий был предельно простым: пользователь загружал новый прайс-лист, а сценарий отправлял его всем клиентам, адреса которых были в базе данных. Для отправки сообщений использовался класс PHPMailer. После переноса на другой сервер сценарий перестал запускаться, причем даже не выдавал сообщение об ошибке.

Первым делом я запустил функцию phpinfo():

Результат меня немного поразил. На сервере была установлена четвертая (!) версия PHP. Учитывая, что уже есть шестая версия, PHP 4 выглядит антиквариатом. Решить проблему удалось путем загрузки класса PHPMailer для PHP 4. Хорошо, что такой до сих пор сохранился на серверах разработчиков!

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

Как узнать, какая версия PHP вам нужна? Все зависит от того, как вы писали свой код. Если вы не использовали функции PHP 5, например scandir(), file_get_ contents() и др., то вам, по сути, хватит PHP 4. А вот если вы использовали пространства имен и другие возможности PHP 6, тогда вам нужна только шестая версия PHP. Все новые версии PHP поддерживают все функции предыдущих версий.

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

Итак, если вы не собираетесь устанавливать Web-сервер Apache, интерпретатор PHP и сервер баз данных на свой компьютер, вам понадобятся две программы — текстовый редактор и FTP-клиент.

1.2. Выбор PHP-редактора и FTP-клиента Из всех PHP-редакторов, которыми я пользовался, мне больше всего понравились два редактора — PHP Expert Editor и Zend Studio (вы без проблем найдете сайты разработчиков этих редакторов). Оба редактора коммерческие, но они стоят своих денег. PHP Expert Editor (рис. 1.1) обеспечивает не только подсветку синтаксиса, но и умеет проверять синтаксис сценария. Правда, для проверки синтаксиса вам нужно установить PHP (об этом позже) и указать его в настройках программы.

ПРИМЕЧАНИЕ

Условно-бесплатную версию программы PHP Expert Editor вы найдете на прилагаемом диске в каталоге software.

Глава 1. Установка необходимого программного обеспечения Для этого выполните команду Запуск | Настройки, в появившемся окне перейдите на вкладку Интерпретаторы скриптов (рис. 1.2) и укажите путь к интерпретатору PHP. Для проверки синтаксиса нажмите клавишу.

Возможности Zend Studio куда шире (рис. 1.3). Чего стоит только автодополнение кода, когда программа "читает" ваши мысли и дописывает за вас PHP-код. Если вы работали с Delphi и другими продуктами Borland, то поймете, о чем я говорю. Поверьте, очень удобно.

В качестве FTP-клиента могу порекомендовать бесплатную программу FileZilla (рис. 1.4), которая доступна как для Windows, так и для Linux. Версия 3.3.5 этого FTP-клиента находится на прилагаемом диске в каталоге software.

Рис. 1.3. Zend выводит не только имена функций, но и краткую справку по каждой функции 1.3. Установка Apache + PHP + MySQL в Windows Если вы все-таки решили настроить собственный сервер, то приступим к установке.

Первым делом вам нужно скачать с сайта www.apache.org Web-сервер Apache.

Вы скачаете файл httpd_2.2.X-win32-x86-no_ssl.msi (на момент написания этих строк уже была доступна альфа-версия 2.3, но пока ее не стоит использовать). Запустите его. Процесс установки обычно проходит без осложнений, но мы все же рассмотрим его.

ПРИМЕЧАНИЕ

На прилагаемом диске в каталоге software вы найдете обычную (no-SSL) и SSLверсию Apache для Windows. Linux-версии на диске нет, поскольку Apache входит в состав любого дистрибутива Linux, вам нужно только установить его. Несмотря на наличие в каталоге software установочных файлов Apache, не забудьте посетить страницу http://archive.apache.org/dist/httpd/binaries/win32/ — вполне возможно, что к моменту покупки книги вышла новая версия Apache. На диске находится версия 2.2.17, а также модуль mod_ftp для Windows.

УСТАНОВКА В WINDOWS VISTA И WINDOWS

Установку Apache, PHP и MySQL в Windows Vista и в Windows 7 желательно производить от имени администратора. Для этого щелкните на установочном файле правой кнопкой мыши и выберите команду Запуск от имени администратора.

Важно правильно указать информацию о сервере: доменное имя сети, доменное имя компьютера (если вы не планируете использовать сервер во всей локальной сети, лучше установить localhost) и адрес администратора (рис. 1.5). Также вам нужно выбрать способ запуска сервера:

for All Users — сервер будет установлен как Windows-сервис и будет доступен всем пользователям;

only for the Current User — сервер нужно будет запускать вручную и он будет использовать порт 8080, т. е. при обращении к серверу нужно будет указывать порт в URL, например http://localhost:8080/.

Затем выберите Custom-тип установки и измените каталог установки Apache (рис. 1.6). По умолчанию используется каталог C:\Program Files\Apache Software Foundation\Apache2.2\, но намного проще установить сервер в каталог C:\WWW или D:\WWW. Нажав кнопку Space, вы можете посмотреть, сколько свободного места осталось на ваших дисках.

После установки Apache запустите браузер и введите следующий URL:

http://localhost Если вы увидите "It works!" (рис. 1.7), значит, установка Apache прошла успешно.

По умолчанию сервер Apache не поддерживает PHP. Поэтому скачайте с сайта www.php.net инсталлятор PHP (он тоже выполнен в виде MSI-пакета) и установите его. Обратите внимание на версию PHP! Если вы хотите использовать последние возможности PHP, нужно скачать шестую версию PHP.

В каталоге software прилагаемого диска вы найдете установочный файл PHP 5.2.

А в каталоге php6 вы найдете архивы как с откомпилированной Windows-версией, так и исходный код PHP 6.

При установке PHP обязательно выберите версию вашего Web-сервера. Мы установили версию 2.2, поэтому ее нужно выбрать при установке PHP (рис. 1.8). Далее нужно указать путь к конфигурационному каталогу Apache, чтобы инсталлятор PHP внес необходимые изменения в файлы конфигурации Apache. Если вы установили Apache в D:\WWW, то вам нужно указать следующий каталог: D:\WWW\conf.

Теперь нужно перезагрузить Apache. Для этого выполните команду Пуск | Выполнить и введите команду services.msc. Отыщите в списке служб Apache 2.2 и выберите команду Перезапустить службу (рис. 1.9). В случае возникновения ошибки перезапустите компьютер.

Теперь вам осталось скачать и установить сервер баз данных MySQL (http://mysql.com/). Его установка проходит вообще без каких-либо нюансов, поэтому мы не будем ее подробно рассматривать. В каталоге software вы найдете версию 5.1 (на данный момент это рекомендуемая, не экспериментальная версия MySQL) для 32- и 64-битных систем. В главе 2 мы напишем сценарий test.php, тестирующий созданную вами конфигурацию. Данный сценарий нужно поместить в подкаталог D:\WWW\htdocs.

ПРИМЕЧАНИЕ

На момент написания этих строк MySQL 6 все еще находится на стадии тестирования.

Windows-версию MySQL 6 вы найдете на прилагаемом диске в каталоге php6.

Если вам лень устанавливать все отдельно, вы можете установить пакет XAMPP, сочетающий Apache, PHP и MySQL "в одном флаконе". Скачать последнюю версию XAMPP можно по адресу http://www.apachefriends.org/en/xampp.html.

На прилагаемом диске в каталоге software вы найдете последнюю (на момент написания этих строк) версию XAMPP — 1.7.3.

Основное преимущество XAMPP — простота установки и управления всеми сервисами, входящими в его состав (Web-сервер, FTP-сервер и MySQL). Но у XAMPP есть и недостаток — версии программного обеспечения, входящие в его состав, отстают от текущих. Например, в состав последней на момент написания этих строк версии XAMPP входила версия Apache 2.2.14, а на www.apache.org можно было скачать версию 2.2.17. Для начинающего программиста особой разницы нет, просто, чтобы вы знали, что в комплект "все в одном" редко входит все самое "свежее".

Установка XAMPP проблем не вызывает. Программа нормально работает в актуальных версиях Windows — XP, Vista и Windows 7. В Windows Vista и Windows программу установки XAMPP нужно запускать от имени администратора.

Желательно устанавливать XAMPP в корневой каталог диска C:\, а не в каталог C:\Program Files, чтобы не было различных проблем с правами доступа — так ре-



Похожие работы:

«ПРИЛОЖЕНИЕ № 1 ЛЕКЦИОННО-МАССОВЫЕ МЕРОПРИЯТИЯ ЦЕНТР КУЛЬТУРНЫХ ПРОГРАММ 1 марта. Российская национальная библиотека, Пушкинская комиссия РАН К выходу в свет Книгу ЖИЗНЬ ГАННИБАЛА, ПРАДЕДА ПУШКИНА (Издательский дом Сад искусств, 2004) представляет автор — литератор, пушкинист, генеалог Н. К. ТЕЛЕТОВА. Ведущий — отв. редактор издания д. филол. н. В. П. СТАРК Гл. здание, конференц-зал. 18 часов. 2 марта СПб. отделение Международного Центра Рерихов СПб. отделение Международной лиги защиты Культуры...»

«Белгородская государственная Университет Вагенинген, сельскохозяйственная академия имени Нидерланды В.Я. Горина, Российская Федерация По международному курсу МВА - Агробизнес Университет Вагенинген Белгородская государственная сельскохозяйственная академия имени В.Я. Горина 2014 - 2016 Белгородская государственная Университет Вагенинген, сельскохозяйственная академия имени Нидерланды В.Я. Горина, Российская Федерация Программа заочного обучения руководителей Международный курс MBA разработан...»

«Центр научно-технической информации Поиск ООО Информационный бюллетень для руководителей и специалистов предприятий ОПК Выпуск № 13 март 2010 ОГЛАВЛЕНИЕ I. Страна и мир 2 Академик Сергей Николаевич ВЕРНОВ 2 (к 100-летию со дня рождения) 2 Сергей Иванов: Программа реформирования ОПК до 2020 года требует финансирования в размере 100 млрд рублей Великобритания учреждает национальное космическое агентство Правительство выделяет Архангельской области средства на инфраструктуру ЗАТО Мирный...»

«Правительство Российской Федерации Санкт-Петербургский государственный университет Геологический факультет РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ Методы синтеза и выращивания кристаллов и неорганических соединений специальная дисциплина образовательной программы подготовки аспиранта специальность 25.00.05 Минералогия, кристаллография(каф.кристаллографии) Язык(и) обучения русский Трудоёмкость зачётных единиц 2 Регистрационный номер рабочей программы: / / Санкт-Петербург Раздел 1. Характеристики,...»

«ИЗАААААААААААААААА МЕТОДИЧЕСКИЕ ОРИЕНТИРЫ ОПЫТА РАБОТЫ ДЕЯТЕЛЬНОСТЬ УЧИТЕЛЯ В УСЛОВИЯХ АПРОБАЦИИ УМК ХИМИЯ 8 (авторы: В. В. Еремин, Н. Е. Кузьменко, А. А. Дроздов, В. В. Лунин) Е. П. Ким, учитель химии МАОУ Гимназия № 1 Октябрьского района г. Саратова, заслуженный учитель РФ 1 сентября 2010 года учащиеся 8 Е класса Всего Тема работы 5 4 3 2 МАОУ Гимназия № 1 Октябрьского района г. Са- писали ратова получили учебники Химия. 8 класс (автоПервоначальные поры: В. В. Еремина, Н. Е. Кузьменко, А. А....»

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

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образования Тверской государственный университет УТВЕРЖДАЮ Декан факультета географии и геоэкологии _Е.Р. Хохлова 2010 г. Программа Комплексной географическая практики, 2 курс 020800.62 Экология и природопользование очная форма обучения Обсуждено на заседании кафедры Составители: физической географии и региональной геоэкологии к.г.н., доцент А.А. Дорофеев _ 2010 г. д.б.н., профессор...»

«Программа вступительных испытаний по специальности 25.00.22 Геотехнология (подземная, открытая и строительная) Содержание программы Раздел 1. Геотехнология (подземная) 1.1. Основные положения подземной разработки месторождений полезных ископаемых Промышленно-экономическая характеристика углей, руд и нерудных полезных ископаемых. Морфологические типы месторождений. Классификация запасов полезных ископаемых. Размеры, условия залегания месторождений и характер распределения в них полезных...»

«Краснодарский край, г. Курганинск (территориальный, административный округ (город, район, поселок) Муниципальное автономное общеобразовательное учреждение средняя общеобразовательная школа № 5 (полное наименование образовательного учреждения) УТВЕРЖДЕНО решением педагогического совета от 30 августа 2013 года протокол № 1 Председатель Д.В. Ерыгин подпись руководителя ОУ Ф.И.О. РАБОЧАЯ ПРОГРАММА по БИОЛОГИИ (указать предмет, курс, модуль) Ступень обучения (класс) основное общее образование 5...»

«ГОУ ВПО Уральский государственный педагогический университет Институт гуманитарного и социально-экономического образования ОТЧЕТ по результатам самообследования факультета социологии по направлению: 050400 – Социально-экономическое образование. Магистерская программа: 050402М – Социологическое образование Екатеринбург 2007 1 СОДЕРЖАНИЕ ВВЕДЕНИЕ 1.ОРГАНИЗАЦИОННО-ПРАВОВОЕ ОБЕСПЕЧЕНИЕ ОБРАЗОВАТЕЛЬНОЙ ДЕЯТЕЛЬНОСТИ 1.1. Общая справка о направлении 050400 – Социально-экономическое образование....»

«Ядерная программа Ирана - момент истины Ю.Ф. Забалуев, А.Н. Мостовец, ФГУП Институт стратегической стабильности В течение последнего десятилетия иранская ядерная проблема остаётся одной из наиболее острых международных проблем, вызывающих напряжённость во взаимоотношениях государств и не способствующих как укреплению безопасности ближневосточного региона, так и установлению, в той или иной степени, глобального согласия в мире. Корни данной проблемы уходят в далёкое прошлое, когда в середине...»

«АВТОМАТИЗАЦИЯ РАСПРЕДЕЛИТЕЛЬНЫХ СЕТЕЙ И СИСТЕМ ЭЛЕКТРОСНАБЖЕНИЯ С ПРИМЕНЕНИЕМ ВВ/TEL, ЦИФРОВЫХ УСТРОЙСТВ РЗА И ПРОГРАММНО-АППАРАТНЫХ КОМПЛЕКСОВ РАЗРАБОТКИ ИНЖЕНЕРНОГО ЦЕНТРА ЭНЕРГОСЕРВИС ЗАО ИНЖЕНЕРНЫЙ ЦЕНТР ЭНЕРГОСЕРВИС Вакуумные выключатели ВВ/TEL и электронные блоки управления БУ-12 со встроенным микроконтроллером идеальны для сопряжения с цифровыми устройствами РЗА и современными Автоматизация системами телемеханики. электрических Среди существующих выключателей ВВ/TEL наиболее сетей и...»

«Майя Ревия РУССкИЙ ЯЗЫк s. V книга для учителя saxelmZRvanelo grifirebulia ganaTlebis xarisxis ganviTarebis erovnuli centris mier (brZ. # 375, 18. 05. 2012 weli) Майя Ревия РУССкИЙ ЯЗЫк.V книга для учителя Редактор Лали Бакрадзе © Издательство Диогене, 2012 Maia Revia Russian language.V Teachers book Editor Lali Bakradze © Diogene Publishers, 2012 All rights reserved. ISBN 978-9941-11-338-3 Издательство Диогене, Тбилиси, ул.Апакидзе, 9. Тел.: 221 33 21 www. diogene.ge ОгЛАвЛенИе вступление...»

«АКАДЕМИЯ УПРАВЛЕНИЯ ПРИ ПРЕЗИДЕНТЕ РЕСПУБЛИКИ БЕЛАРУСЬ УТВЕРЖДЕНО Проректором по учебной работе 18.06.2010 Регистрационный № УД-15 Пп_/уч. УЧЕБНАЯ ПРОГРАММА ПО ДИСЦИПЛИНЕ Ситуационный анализ и моделирование управленческих решений специальности переподготовки 1-26 03 71 Управление государственными информационными ресурсами квалификация специалист в области управления в соответствии с типовым учебным планом переподготовки, утвержденным 06.01.2011, регистрационный № 25-11/333. Минск 2010 2...»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ АРХИТЕКТУРНОСТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ УТВЕРЖДАЮ Ректор ФГБОУ ВПО ТюмГАСУ _ А.В. Набоков __20г. Программа вступительного экзамена по специальной дисциплине, соответствующей профилю направления подготовки научнопедагогических кадров в аспирантуре Техника и технологии строительства 08.06.01 Шифр направления...»

«Проект от 13.03.2013* ПРОГРАММА III ВСЕРОССИЙСКОЙ НАУЧНОЙ КОНФЕРЕНЦИИ СТУДЕНТОВ И АСПИРАНТОВ С МЕЖДУНАРОДНЫМ УЧАСТИЕМ МОЛОДАЯ ФАРМАЦИЯ – ПОТЕНЦИАЛ БУДУЩЕГО 25-26 АПРЕЛЯ 2013 ГОДА 25 апреля 2013 года, четверг 09.00 – 10.00 Регистрация гостей конференции Научная программа III Всероссийской научной конференции студентов и аспирантов с международным участием Молодая фармация – потенциал будущего (ГБОУ ВПО Санкт-Петербургская государственная химикофармацевтическая академия) Работа выставочной...»

«Утверждена Шадринской городской Думой решение от 15.11.2012 № 458 Паспорт Программы комплексного социально-экономического развития муниципального образования – город Шадринск на 2013 год и плановый период по 2015 год Наименование Программы Программа комплексного социально-экономического развития муниципального образования – город Шадринск на 2013 год и плановый период по 2015 год Заказчик Программы Администрация города Шадринска Цель Программы Достижение устойчивых темпов экономического роста,...»

«Общие положения Программа кандидатского экзамена по специальности 06.01.02 – Мелиорация, рекультивация и охрана земель (сельскохозяйственные науки) составлена в соответствии с федеральными государственными требованиями к структуре основной профессиональной образовательной программы послевузовского профессионального образования (аспирантура), утвержденными приказом Минобрнауки России 16 марта 2011 г. № 1365, на основании паспорта и программы–минимум кандидатского экзамена по специальности...»

«1. Пояснительная записка Данная рабочая программа по русскому языку для 10-11 класса создана на основе федерального компонента государственного стандарта среднего (полного) общего образования и программы по русскому языку для 10-11 классов общеобразовательных учреждений (авторы-составители: В.Ф.Греков, С.Е.Крючков, Л.А.Чешко ) Обучение родному языку в школе рассматривается современной методикой не просто как процесс овладения определенной суммой знаний о русском языке и системой соответствующих...»

«ТП МАЛАЯ РАСПРЕДЕЛЕННАЯ ЭНЕРГЕТИКА Сопредседатель ТП МРЭ, Роль и перспективы деятельности Заместитель Генерального технологической платформы Малая директора ФГБУ РЭА распределенная энергетика в И.С. Кожуховский развитии распределенной энергетики Директор по направлению Экология и энергоэффективность ЗАО Круглый стол ТП Малая распределенная АПБЭ, энергетика Координатор ТП МРЭ октября 2013 г.) О.А. Новоселова ТП Ускорение инновационного развития – Малая важнейшая задача энергетического сектора...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.