Этап программирование сайта - стартовое приложение

Макет сайта сверстан и открывается в браузере, возникает вопрос, что и для чего нужно еще программировать? Давайте представим, что у нас магазин, который имеет сотни товаров, которые нужно представить посетителю. Получается нам нужно сделать сотни независимых страниц, большая часть которых имеет одинаковые фрагменты, например, меню, рекламные банеры, мало того, эти страницы нужно связать между собой ссылками, что бы посетитель мог свободно путешествовать по вашему сайту. Если страниц всего несколько, эту работу можно сделать, но если таких страниц будут десятки, то любое изменение превратиться в кошмар, нужно будет вручную вносить однотипные изменения во все файлы сайта, причем человеком знающего HTML! Для элементарной автоматизации всего этого процесса вначале применялась технология SSI, которая позволяла на сервере делать простейшие программные действия, например, во все файлы сайта включать общее меню. На современном этапе сайт, работающий на любом серверном языке программирования, полностью освобождает нас от рутинных работ, генерация меню, ссылки между страницами генерируются автоматически, управлять таким сайтом сможет человек имеющий базовые основы работы с компьютером. По большому счету на сервере нет такого количества страниц, каждая страница генерируется на «лету», т.е. при обращении по определенному адресу программа на сервере генерирует HTML код и отдает его нашему браузеру, который «думает» что он загрузил отдельную страницу сайта.

 В силу исторических причин наиболее распространенным серверным языком программирования является PHP. Сегодня мы поговорим об установке Zend Framework 3 и начала работы с ним, наша студия создает веб приложения именно на этом фреймворке. Раннее мы говорили, что данный фреймворк представляет архитектуру «слабого связывания» с минимальными зависимостями между частями, возникает вопрос, каким образом сам фреймворк и наше приложение устанавливает тот или иной модуль или знает, что он уже установлен? Ответ прост - консольная программа composer, так же написанная на PHP. Эта программа предназначена для управления пакетами как самого фреймворка, так и других разработчиков, например, студии «Мастер Флеш». Разработанные пакеты регистрируются на сайте packagist.org, именно с этим сайтом программа composer работает по умолчанию, разрабатывая программу или пакет программист должен в специальном файле composer.json указать что нужно загрузить при установке. Как работать с данной программой можно посмотреть на сайте разработчика, getcomposer.org.

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

Структура Zend Framework 3 накладывает некоторые требования к расположению файлов нашего приложения и вообще размещения всего проекта на сервере, на фото видна структура папок проекта.

Обязательно веб сервер должен указывать на папку www (или аналогичную, например, public), в которой находится файл index.php. Вся программная часть проекта находится уровнем выше, что существенно улучшает безопасность. Можно настроить веб сервер, что бы он выполнял только index.php, тогда уровень безопасности существенно увеличится, т.к. даже если на сервер попадет исполняемый вредоносный файл, он не сможет выполняться. Если приложение написано правильно, по всем требованиям, то единственная точка входа в него является индексный файл, расположенный в папке www. Такая структура накладывает некоторые ограничения, например, у хостера jino.ru  можно разместить только один сайт. Требуемая структура папок создается автоматически в момент создания скелетного приложения. Рассмотрим назначение папок и файлов:

  • Config - глобальные опции приложения.
  • Data - папка хранит разные временные файлы, например, кеш.
  • Log - хранит логи веб сервера, эта папка не обязательна, используется только самим вебсервером.
  • Module - хранит разработанное веб приложение, по сути это программная часть сайта, которая выходит за рамки стандартных пакетов.
  • Vendor - хранит пакеты фреймворка или сторонних разработчиков, это автоматически обновляемая часть проекта.
  • www или аналогичная - хранит публичную часть сайта, стили, изображения и другое, что передается в браузер посетителя.
  • Composer.json и composer.lock - файлы, которые использует в своей работе программа composer.

Подведем итоги - создание сайта на Zend Framework 3 требует довольно высокой квалификации программистов. В студии «Мастер Флеш» работают высококлассные специалисты, которые разработают для вас портал любой сложности, в сжатые сроки, по приемлемой цене, обращайтесь.


Перейти к списку