Использование PHP фреймворков в разработке сайта

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

есяцев. Это позволяет избежать использования старого, необкатанного, недоработанного кода при разработке.

 

1.8.10 Обратная совместимость

Не все фреймворки обратно совместимы, то есть, при обновлении фреймворка в проекте может возникнуть необходимость в полной переделке проекта. Часть фреймворков условно обратно совместима, к примеру, при обновлении младшей части версии(minor) все совместимо, а при старшей - нет. Так же большим плюсом является руководство по переходу на новую версию фреймворка.

1.8.11 Наличие встроенных javascript-библиотек

Для примера, yii-фреймворк включает в себя jquery и jquery ui, а так же имеет встроенные средства для контроля подключенных скриптов и очередности их выбопнения, а codeigniter - нет.

 

1.8.12 Поддержка со стороны хостинга

Часть фреймворков требуют PHP 5.3, а часть будет работать и на PHP 4. Если ошибиться в выборе, то проект не будет работать на хостинге.

 

1.9 Распространенные ошибки при выборе фреймворка

 

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

Выбирая PHP фреймворк необходимо обращать внимание на то, насколько он легок в освоении и понимании. Это имеет очень важно значение для малоопытного PHP программиста. Также необходимо убедиться, что база данных и веб-сервер совместимы с архитектурой выбранного фреймворка.

Если не придерживать вышеуказанных требований, то возможны падения в производительности разработки проекта, производительности кода и легкости сопровождения. Другой распространенной ошибкой является неправильная установка фреймворка. При установке необходимо следовать инструкции, чтобы избежать ошибок.

2. РАЗРАБОТКА ПРОЕКТА

 

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

1.Товары разделены по категориям, с возможностью создания подкатегорий;

2.Удобная административная панель;

.Многоязычность, поддержка русского, румынского и английского языков;

.Поддержка высоких нагрузок(кэширование).

Для разработки такого проекта был выбран MVC-фреймворк yii, который обладает относительно низким порогом вхождения и большим русскоязычным сообществом.

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

1.выбор и установка необходимых инструментов;

2.разработка дизайна проекта и верстки;

.проектирование и создание базы данных;

.создание основы приложения и конфигурация;

.генерация каркаса кода с помощью кодогенератора Gii;

.установка верстки и доработка каркаса;

.настройка кэширования, многоязычности и красивых ссылок.

 

2.1 Приложения, использованные при разработке проекта

 

Для оптимизации разработки проекта, а также удобства, были использованы следующие приложения:

1.Пакет denwer;

2.Графический интерфейс HeidiSQL для управления СУБД MySQL;

.Редактор программного кода PhpStorm;

Каждое из этих приложений обладает рядом уникальных, незаменимых свойств, облегчающих разработку и тестирование web-приложения.

 

2.1.1 Пакет для web-разработки Denwer

Denwer - портативный набор дистрибутивов и программная оболочка, созданный для отладки сайтов на локальной Windows - машине, без подключения к сети Интернет. Состав базового пакета:

Apache2.2, SSI, SSL, mod_rewrite, mod_php;

PHP5 с поддержкой GD и MySQL5;

MySQL с поддержкой транзакций (mysqld - max);

поддержка виртуальных хостов на основе папок из /home;

система управления запуском и завершением;

phpMyAdmin - система управления MySQL через Web - интерфейс;

эмулятор sendmail (отладочная заглушка, складывающая приходящие письма в /tmp); поддерживается работа совместно с PHP и Perl;

установщик (нечто вроде InstallShield).

 

2.1.2 Система управления СУБД MySQL HeidiSQL

HeidiSQL - бесплатный клиент с открытым исходным кодом, а так же графический интерфейс для управления и администрирования СУБД MySQL (рис 2.1). Проект находится в активном развитии и поддерживает множество возможностей:

Поддержка множества одновременно открытых подключений с помощью TCP/IP, именованных каналов или SSH-туннелирования, с возможностью сохранения авторизационных данных.

Управление пользователями и их правами на сервере в рамках базы данных или глобально.

Поддержка управления серверными переменными;

Просмотр серверной статистики и управление запущенными процессами с возможностью проанализировать выполняемые SOL-запросы и прервать плохие.

Поддержка экспорта баз данных в SQL файл или на другой сервер, с возможностью последующего импорта;

Просмотр и управление базами данных, таблицами, отображениями, триггерами и хранимыми процедурами.

 

 

2.1.3 Редактор программного кода PhpStorm

JetBrains PhpStorm - коммерческое IDE для PHP разработанное на основе платформы IntelliJ IDEA (рис. 2.2). Предоставляет умный редактор для PHP, HTML и JavaScript кода с поддержкой анализа качества кода на лету и продвинутыми возможностями автоматического рефакторинга. Дополнение кода полностью поддерживает все