Содержание Введение 2
1 Описание выбранной программной среды(PHP) 3
1.1 Описание языка 3
1.2 Область применения 3
1.3 История PHP 4
2 Обоснование выбора 7
3 Описание программных средств 8
3.1 NetBeans IDE 8
3.2 MySQL 8
3.3 XAMPP 9
4 Описание выполнения конкурсной работы 10
4.1 Создание структуры базы данных для сайта 10
4.2 Создание проекта сайта в NetBeans 11
Заключение 26
Список используемых источников 27
Введение Для конкурсной работы я решил создать динамический сайт посвященный урокам по HTML и CSS. А почему именно эти уроки? Да потому что это основы основ, все дальнейшее сайтостроение строится на этих двух китах.
Сайт решил написать на PHP. Свой выбор обосновал ниже.
1 Описание выбранной программной среды(PHP) 1.1 Описание языка PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools — «Инструменты для создания персональных веб-страниц»; произносится пи-эйч-пи) — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.
Чтобы обучиться даже простейшему знанию основ PHP, нет надобности изучать другие языки программирования. Достаточно знания простейших основ языка HTML, на основе которого, в общем-то, и строится структура документа PHP.
Сегодня даже новичок в программировании сможет быстро и качественно изучить основы языка PHP и создавать свои собственные, красивые и быстрые в работе сайты.
Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.
1.2 Область применения В области программирования для сети Интернет PHP — один из популярных сценарных языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.
Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них:
автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird InterBase, Paradox File Access, MaxDB, Интерфейс PDO);
автоматизированная отправка HTTP-заголовков;
работа с HTTP-авторизацией;
работа с cookies и сессиями;
работа с локальными и удалёнными файлами, сокетами;
обработка файлов, загружаемых на сервер;
работа с XForms.
В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в июне 2013 года PHP находился на 5 месте среди языков программирования. К крупнейшим сайтам, использующим PHP, относятся Facebook, Wikipedia и др.
Входит в LAMP — распространённый набор программного обеспечения для создания и хостинга веб-сайтов (Linux, Apache, MySQL, PHP).
1.3 История PHP В 1994 году датский программист Расмус Лердорф создал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl — интерпретатора скриптов — перестало хватать, и Лердорф разработал с использованием языка C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter — «Личная Домашняя Страница / Интерпретатор форм»).
В 1997 году после длительного бета-тестирования вышла вторая версия обработчика, написанного на C — PHP/FI 2.0. Её использовали около 1 % (приблизительно 50 тысяч) всех интернет-доменов мира.
Версия PHP 3.0 подверглась значительной переработке, определившей современный облик и стиль языка программирования. В 1997 году два израильских программиста, Энди Гутманс и Зеев Сураски, полностью переписали код интерпретатора. PHP 3.0 был официально выпущен в июне 1998 года.
Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра дополнительными модулями. Впоследствии интерфейс написания расширений привлёк к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количеством баз данных, протоколов, поддерживать большое число API. Большое количество разработчиков привело к быстрому развитию языка и стремительному росту его популярности. С этой версии акроним php расшифровывается как «PHP: hypertext Preprocessor», вместо устаревшего «Personal Home Page».
К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зеев Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Новый движок, названный Zend Engine, успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принёсший с собой набор дополнительных функций, официально вышел в мае 2000 года. В дополнение к улучшению производительности, PHP 4.0 имел ещё несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.
Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. В последующих версиях также были введены пространства имён, замыкания и целый ряд достаточно серьёзных изменений, количественно и качественно сравнимых с теми, которые появились при переходе на PHP 5.0.
Шестая версия PHP разрабатывалась с октября 2006 года. Было сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, magic_quotes_gpc иregister_globals из конфигурационного файла php.ini. Одним из основных новшеств должна была стать поддержка Юникода. Однако в марте 2010 года разработка PHP6 была признана бесперспективной из-за сложностей с поддержкой Юникода. Исходный код PHP6 перемещён на ветвь, а основной линией разработки стала версия 5.4.
2 Обоснование выбора Язык программирования PHP – это один из наиболее распространенных, один из наиболее простых и удобных в использовании языков программирования веб-страниц.
Чтобы обучиться даже простейшему знанию основ PHP, нет надобности изучать другие языки программирования. Достаточно знания простейших основ языка HTML, на основе которого, в общем-то, и строится структура документа PHP.
Основной положительный момент, который характерен для языка PHP – это возможность создания различных динамических приложений, динамических страниц, которые оживляют сайт, делают его интерактивным, позволяют пользователям взаимодействовать между собой и с авторами сайта. Сегодня даже новичок в программировании сможет быстро и качественно изучить основы языка PHP и создавать свои собственные, красивые и быстрые в работе сайты.
Конечно же основным критерием выбора этого языка стало то, что я недавно начал учить PHP и решил применить полученные знания на практике.
3 Описание программных средств 3.1 NetBeans IDE NetBeans IDE — свободная интегрированная среда разработки приложений (IDE) на языках программирования Java, Python, PHP, JavaScript, C, C++, Ада и ряда других.
Проект NetBeans IDE поддерживается и спонсируется компанией Oracle, однако разработка NetBeans ведется независимым сообществом разработчиков-энтузиастов (NetBeans Community) и компанией NetBeans Org.
По качеству и возможностям последние версии NetBeans IDE не уступают лучшим коммерческим (платным) интегрированным средам разработки для языка Java, таким, как IntelliJ IDEA, поддерживая рефакторинг, профилирование, выделение синтаксических конструкций цветом, автодополнение набираемых конструкций на лету, множество предопределённых шаблонов кода и др.
Для разработки программ в среде NetBeans и для успешной инсталляции и работы самой среды NetBeans должен быть предварительно установлен Sun JDK или J2EE SDK подходящей версии. Среда разработки NetBeans по умолчанию поддерживала разработку для платформ J2SE и J2EE. Начиная с версии 6.0 Netbeans поддерживает разработку для мобильных платформ J2ME, C++ (только g++) и PHP без установки дополнительных компонентов.
3.2 MySQL MySQL (МФА: [maɪ ˌɛskjuːˈɛl]) — свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.
MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.
3.3 XAMPP XAMPP ([ˈzæmp] или [ˈɛksæmp]) — кроссплатформенная сборка веб-сервера, содержащая Apache, MySQL, интерпретатор скриптов PHP, язык программирования Perl и большое количество дополнительных библиотек, позволяющих запустить полноценный веб-сервер.
Изначально XAMPP создавался как инструмент для разработчиков, позволяя веб-дизайнерам и программистам тестировать свою работу, не используя Интернет. Для упрощения работы некоторые возможности и настройки безопасности отключены по умолчанию, и в целом XAMPP рекомендуется к использованию только в очень дружественном окружении. Однако XAMPP иногда используется и во всемирной паутине.
4 Описание выполнения конкурсной работы 4.1 Создание структуры базы данных для сайта Для хранения всей информации, которая будет отображаться на сайте, я буду использовать MySQL.
Для подключения к БД я использую PhpMyAdmin. Для этого необходимо открыть любой браузер и в адресной строке ввести: http://localhost/phpmyadmin.
Рис. - Подключение к MySQL.
Следующий шаг - это создание БД, отображенный на Рис. 2
Рис. - Создание БД
Далее создал структуру БД, состоящую из 4 таблиц(Рис. 3):
settings - таблица с настройками сайта, в ней хранятся заголовки всех стараниц;
lessons_html - в этой таблице хранятся уроки по HTML;
lessons_css - в этой таблице хранятся уроки по CSS;
userlist - в этой таблице хранятся логины и пароли для доступа к блоку администратора сайта(добавление, редактирование и удаление уроков).
Рис. 3 - Структура БД
БД готова для работы, теперь нужно внести исходные данные и можно приступать к непосредственной разработке сайта.
4.2 Создание проекта сайта в NetBeans Я использовал NetBeans IDE 7.3.1. После запуска приложения мы видим вот такое окно(Рис. 4).
Рис. 4 - Окно программы NetBeans
В начале любой работы необходимо создать проект, для этого выбираем меню Файл -> Создать проект, либо нажать Ctrl+Shift+N.
Откроется диалоговое окно - Создать проект. В выбираем: в категориях - PHP, а в проектах - Приложение PHP. После того как все выбрали, нажимаем Далее (Рис. 5).
Рис. 5 - Создание проекта
Следующий шаг отображен на Рис. 6.
Рис. 6 - Имя и расположение проекта
На этом шаге необходимо ввести имя и расположение проекта, выбрать версию PHP и кодировку по умолчанию, и нажать Готово.
После этого создаем структуру проекта, как показано на Рис. 7.
Рис. 7 - Структура проекта
В папке admin будут хранится файлы и страницы блока администратора, подробнее к ней вернемся позднее;
В папке bloks хранятся файлы конфигурации подключения к БД, файлы подключения шапки сайта;
В папке img хранятся все изображения
index.php - главная страница сайта(Рис. 8);
lessons_html.php - страница с уроками по HTML, на ней будет отображаться список доступных уроков: Название урока, дата добавления, автор, краткое описание (Рис.9);
lessons_css.php - страница с уроками по CSS(Рис. 10);
contacts.php - страница с контактами;
страницы view_lesson_html.php и view_lesson_html.php предназначены для просмотра всего текста урока по html(Рис. 11) или css(Рис. 12) соответственно.
style.css, style2.css и style3.css - это каскадные таблицы стилей, они отвечают за то как будет отображена информация на сайте.
Рис. 8 - Главная страница
Рис. 9 - Страница со списком уроков по HTML
Рис. 10 - Страница со списком уроков по CSS
Рис. 11 - Страница просмотра уроков по HTML
Рис. 12 - Страница просмотра уроков по CSS После того, как создана видимая для пользователей часть сайта, нужно создать блок администратора, о котором я уже упоминал раньше. Для этого в папе проекта admin создадим структуру файлов, которая показана на Рис. 13.
Рис. 13 - Структура блока администратора
Для того, что бы попасть в блок администратора, в адресную строку браузера необходимо ввести "http://localhost/sphp/admin" и нажать Enter. После этого появится окно авторизации пользователей(Рис. 14).
Рис. 14 - Окно авторизации После проверки пользователя, при условии что такой пользователь существует, попадаем в блок администратора(Рис. 15). Здесь мы можем добавлять новые, редактировать или удалять уроки, а так же редактировать текст отображающийся на страницах.
Рис. 15 - Блок администратора
Рассмотрим подробнее какой файл для чего нужен:
lock.php - файл авторизации пользователей, сверяет введенные данные с данными в БД sphp и на основе этого дает или не дает доступ к блоку администратора;
страницы new_lesson_html.php и new_lesson_css.php выглядят одинаково, единственная разница в том что они вызывают разные обработчики форм(Рис. 16);
Рис.16 - Страница добавления нового урока
файлы add_lesson_html.php и add_lesson_css.php вводят данные введенные на странице добавления нового урока. Визуально пользователю они не видны, а только выводят сообщение об "Успешном добавлении урока" если заполнены все поля и не произошло никакой ошибки, лидо выводит ошибку;
файлы edit_lesson_html.php и edit_lesson_css.php так же выполняют похожую работу, вначале выводят список всех уроков(Рис. 17), а после выбора урока открывается страница редактирования урока(Рис. 18);
Рис. 17 - Список уроков для редактирования
файлы update_lesson_html.php и update_lesson_css.php обновляют редактированные уроки в БД.
файл edit_text.php - вначале выводит список всех страниц(Рис.19), а после выбора страницы выводит текст выбранной страницы для редактирования(Рис. 20);
update_text.php - обработчик вызывается формой на странице edit_text.php и обновляет данные страницы;
файлы del_lesson_html.php и del_lesson_css.php вначале выводят список всех уроков, в котором можно выбрать урок для удаления и нажать кнопку "Удалить"(Рис. 21);
файлы drop_lesson_html.php и drop_lesson_css.php - это обработчики, вызываются при нажатии кнопки удалить на форме удаления уроков и удаляют урок из БД.
Рис. 18 - Редактирование выбранного урока
Рис. 19 - Список страниц
Рис.20 - редактирование текста страницы
Рис. 21 - Удаление уроков
Заключение В ходе данного творческого задания был создан динамический сайт с уроками по HTML и CSS, а так же реализован блок администрирования, в котором можно добавлять, редактировать и удалять уроки.
Данный сайт после некоторой доработки можно использовать для других нужд и разместить его на каком-нибудь хостинге.
В ходе практической работы были закреплены теоретические знания HTML, CSS, PHP, а так же получены навыки работы c MySQL.
Список используемых источников Портал для веб-мастеров и веб-программистов [Электронный ресурс].-Режим доступа: http://www.wwwmaster.ru
Интернет-университет информационных технологий [База данных INTUIT].-Режим доступа: http://www.intuit.ru
Справочник веб-мастеров [Электронный ресурс].-Режим доступа: http://htmlbook.ru/
|