Статьи

Сайты на базе данных с нуля

Много было написано о создании и поддержке веб-сайтов, управляемых данными. Эти сайты обычно представлены тремя уровнями. Термин «трехуровневый» относится к метафорическим слоям внутри веб-сайта, управляемого данными:

Содержание, логика программы и презентация

«Контент» относится ко всему тексту на сайте — не к навигационным ссылкам или изображениям, а к необработанной текстовой информации, такой как новостные статьи или описания продуктов.

«Программная логика» относится к коду, который обрабатывает запросы пользователей на страницы и отображает их в соответствии с определенными правилами, такими как: если запрос поступает с компьютера Linux — показать эту страницу.

«Презентация» относится к коду, который обрабатывает форматирование вашего контента и отображает его в соответствующем формате, например HTML или XHTML.

Мой сайт, например, хранится в базе данных MySQL. Запросы страниц обрабатываются языком программирования PHP, а презентация — шаблонами, содержащими HTML.

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

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

Кому нужна база данных?

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

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

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

www.mysql.com
www.php.net
www.phpbuilder.com
www.devshed.com
Webmasterbase

Итак, теперь вы решили, что вам нужна динамическая, гибкая структура сайта и что база данных для вас. Так, что дальше?

Что вам нужно

Если вы собираетесь создать динамический сайт, вам понадобится несколько вещей, а именно:

  • система управления реляционными базами данных (или RDBMS),
  • язык программирования, который поможет вам манипулировать вашими данными и
  • система шаблонов для абстрагирования представления от кода.

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

Какая СУБД?

MySQL является подходящим решением для большинства современных малых и средних сайтов. Почему? Так как:

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

Какой язык программирования?

Исходя из того, что мы выбрали MySQL в качестве нашей базы данных, ответом здесь является заброшенный вывод: PHP. Хотя существует много других способов взаимодействия с MySQL, комбинация PHP и MySQL очень хорошо документирована, и тысячи сайтов полагаются на это превосходное сочетание технологий для эффективного управления своими данными. Некоторые из преимуществ PHP включают в себя:

  • Его простота
  • Его сила
  • Его поддержка сообщества
  • Это бесплатно!

Какая система шаблонов?

Есть две школы мысли о том, какая система шаблонов является лучшей: PHPLib или FastTemplate. Опытные программисты разделены, и обе фракции увлечены своими дебатами. Я выбрал PHPLib, потому что в отличие от FastTemplate, который был портирован из оригинального сценария Perl, PHPLib изначально был разработан исключительно для PHP.

Итак, наши решения приняты: шаблоны PHP, MySQL и PHPLib.

Где сейчас?

Если вы не знаете HTML, покиньте эту статью сейчас и вернитесь через пару недель, когда вы научитесь кодировать HTML-страницы вручную. И если вы полагаетесь на WYSIWYG-редакторы, такие как Dreamweaver, то применяется то же самое: если вам неудобно редактировать код вручную, вам нужно учиться. Это не сложно, поверь мне.

Самый простой способ выучить языки, которые вам понадобятся для создания базы данных на вашем сайте, — это выбрать один предмет за раз. Я обнаружил, что это лучше всего сделать в таком порядке:

  1. Выучить PHP
  2. Изучай MySQL
  3. Научитесь пользоваться системой шаблонов PHPLib
PHP

Официальный дом PHP

Загрузки

  • php.net — для исходного и бинарного пакетов
  • PHP Triad для Windows — полная серверная среда
  • RPM-пакеты для Linux-боксов
  • Или проверьте страницу загрузки вашего дистрибьютора

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

Настройка

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

Руководство по PHP — ваш лучший выбор. Или вы можете попробовать учебники Кевина Янка , которые являются частью его новой книги, в том числе:

Есть сотни учебников на выбор в Интернете. Просто запустите поиск в Google и выберите то, что соответствует вашим потребностям.

Учебники для начинающих

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

Конечно, есть ряд других, но я думаю, что эти три, вероятно, являются лучшими источниками для начинающих.

Общие учебные пособия и источники знаний

Опять же, я должен сказать, что существуют десятки онлайн-ресурсов PHP, но перечисленные выше представляют лучшее из того, что есть.

Форумы сообщества

Эти сайты — лучшее место, где можно поговорить с другими разработчиками и получить помощь по материалам, которые вы не можете найти или не можете понять в руководстве.

И вот оно! Добавьте эту страницу в закладки, иди повеселись, и когда ты уверенно встраиваешь PHP в свои HTML-страницы, вернись и приступай к следующему разделу.

MySQL

Официальный дом MySQL

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

загрузка

Настройка

Большинство ссылок на ресурсы PHP выше также описывают установку MySQL как часть сделки. Однако вот несколько сайтов, специфичных для MySQL:

Учебники для начинающих

Как указано выше, пара наиболее заметных или специфических ресурсов включает в себя:

Общие учебные пособия и источники знаний

Форумы сообщества

Стоящие ресурсы включают в себя:

Ну, что же вы ждете? Пойдите, изучите материал MySQL, и когда вы сможете использовать и манипулировать простыми базами данных с помощью PHP, вернитесь и застрять в следующем разделе!

Система шаблонов PHPLib

Официальный дом PHPLib

Надеемся, что к этому моменту вы успешно внедрите код PHP, который извлекает данные из MySQL прямо в ваши HTML-страницы. Если вы находите это забавным и увлекательным, тогда это здорово! И если вы заметили, что иногда это может немного запутаться из-за того, что все смешано с HTML и PHP-кодом, тогда вам понравятся шаблоны PHPLib.

Система шаблонов PHPLib на самом деле является частью гораздо большей коллекции полезных инструментов для разработчиков PHP, которые все подпадают под заголовок PHPLib. В этой статье я просто рассмотрю класс шаблона, который можно использовать как отдельный класс и который вам может потребоваться () вверху ваших страниц.

загрузка

Это хорошо и просто, поскольку класс — это просто набор функций (или методов) и, следовательно, просто текстовый файл. Вам нужно будет скачать весь PHPLib, чтобы извлечь этот файл. Загрузите это здесь.

Загрузив пакет, разархивируйте его и возьмите файл template.inc из каталога php .

Настройка

Ну, на самом деле ничего настраивать не нужно, просто включите () или require () вверху ваших страниц.

Учебники

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

Форумы сообщества

Лучше всего размещать вопросы на PHPbuilder.com , так как есть довольно много фанатов шаблонов, которые всегда рады помочь на этом конкретном форуме. Просто не забудьте поставить четкую тему заголовка на ваш пост. Что-то вроде ‘PHPLib template query’ должно сработать .

Ну, вот и все, я надеюсь, что вы нашли эту статью полезной и что вам понравится создавать динамические страницы с использованием PHP, MySQL и шаблонного класса PHPLib.