Рубрики
WordPress Глава 1

Сайты и принцип работы CMS


В предыдущих главах мы познакомились с веб-технологиями для создания сайтов и немного разобрались в основных моментах принципа работы современного интернета. Теперь давайте рассмотрим работу, правилам которой подчиняется, пожалуй, любая CMS (система управления содержимым сайта).

Как известно статические сайты, которые из себя представляют набор отдельных файлов (веб-страниц) с расширением .html в невыгодном положении перед динамическими, если вопрос касается крупного ресурса. Объясню почему.

Предположим у вас интернет-магазин или сайт-каталог с численностью товаров более 10000, по всем законам статических сайтов — это 10000 отдельных файлов html, 10000!  Допустим вам необходимо добавить код от Google Analytics или Яндекс Метрики на каждую страницу, не трудно догадаться с какой проблемой мы столкнемся, да? Что бы это осуществить и добавить на каждую страницу специальный код отслеживания ресурса, нам необходимо открыть все 10000 файлов и в каждый из них добавить этот код. Безумие, не правда ли? А про классификацию, выборку продуктов и прочие интересные вещи я вообще промолчу…

Но другое дело динамический сайт и классическая система MVC (модель-вид-контроллер), где в качестве модели, на примере WordPress, выступает база данных MySQL, в качестве контроллера — ядро ВордПресс, написанное на серверном языке программирования PHP и вид (представление) -шаблоны, включающие в себя теги HTML.

Теперь все обстоит совершенно иначе. Подробно мы с этим познакомимся изучая циклы в WordPress и создавая свою тему с абсолютного нуля, а пока что, если по простому, то теперь наша страница подобна пазлам и собирается за счет серверного языка PHP по тем правилам, которые мы ей зададим. Например, (это применимо к шаблонам WordPress ) в построении всех страниц сайта за верхнюю часть каждой страницы будет отвечать отдельный шаблон — файл header.php, именно с него будут начинаться хоть миллион страниц нашего сайта и поэтому что бы привязать к сайту аналитику от Google, рассмотренную выше, нам необходимо просто добавить ее единожды в файл header.php вот и все! И теперь когда пользователь делает запрос, для него PHP формирует страницу, в момент формирования, мы уже знаем, будет участвовать файл с нашим кодом header.php, а следовательно не будет такой страницы на сайте, где бы он не появился. Примерно так…

А что если вам необходимо осуществить выборку товаров по определенным признакам, например, цвету или весу? Это не предоставляется возможным для статических сайтов, за исключением случаев, когда вы можете начать «изобретать велосипед» и написать парсер (синтаксический анализ) для своего сайта, который будет анализировать все файлы и осуществлять выборку по каким то атрибутам тегов, и здесь опять же будет задействован один из серверных языков программирования. Согласитесь, сложно.

Все это в WordPress реализуется за счет специальных классов WP_Query и wpdb, при помощи которых мы можем сделать запросы к нашей базе данных и отсортировать необходимые записи, товары. Пока что все это кажется незнакомым и непонятным, но уверяю вас, что уже после нескольких глав будет определенная ясность 🙂

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

Критика со стороны программистов

Конечно же без критики никуда. Почти каждый будет хвалить «свое болото», то есть тот продукт с которым привычно и комфортно работать. Армия поклонников CMS Joomla будут защищать и превозносить «Джумлу», разработчики под CMS Drupal, естественно — свой «Друпал», часть программистов, которые работают с фреймворками будут высмеивать CMS — называя их конструкторами для детей (или чаще можно встретить еще обидней высказывание — «для кухарок» ) , ну а если еще программисты «пишут» на другом языке, например Python, то с их стороны можно услышать вообще критику не только на продукт, но и на саму технологию PHP; поэтому мой вам совет не воспринимать и не доверять этой информации без фактов. Все это не более чем холивар.

А факты таковы! CMS WordPress знают по всему миру! По всей планете проводятся регулярные конференции WordCamp и MeetUp, а число сайтов под управлением этой системы составляет около 20%, а это значит что каждый пятый сайт в мире работает на WordPress.

Ссылка на источник HackerTarget.com

Ссылка на источник wpmag.ru

Поэтому с аргументами и фактами у «ВордПресс» все в полном порядке 🙂 Если вы сделали свой выбор в сторону WordPress, то я считаю вы сделали правильный выбор!

Рубрики
WordPress Глава 1

Как работает интернет?


Вроде, кликнули — открылся браузер, еще раз кликнули — и уже читаем новости с сайта… Но на самом деле не так все просто, как кажется.

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

Тим Бернерс-Ли

Тим Бернерс-Ли
В 2015 году Тим Бернерс-Ли отметил свой юбилей — 60 лет. Да, много воды утекло с 80-х годов, когда британский ученый, изобретатель (совместно с Робертом Кайо) изобрел принцип работы Всемирной паутины — сети интернет. Подробнее…

Первый сайт в сети интернет появился 6 августа 1991 года. Вот по истине исторический адрес и размещение информации на нем http://info.cern.ch/

Как все работает?

На самом деле принцип работы Всемирной паутины (World Wide Web) достаточно прост. Предположим у нас есть удаленный сервер, где то в другой части света, а может и неподалеку от вас, не важно. Сервер представляет из себя по сути ту же компьютерную машину, что и у вас дома, которая имеет: оперативную память, систему охлаждения, процессор, дисковый накопитель, операционную систему и т.п., а так же специальное серверное программное обеспечение для взаимодействия с протоколом HTTP (ниже мы познакомимся с этим) и обработкой, операциями над файлами. Место расположения серверов принято называть дата-центром.

За жизнедеятельность веб-сервера отвечает операционная система (семейства Windows или Unix-подобная), в которой установлено специальное ПО, например, сервер Apache в связке с тем модулем (

  • PHP (mod_php)
  • Python (mod python, mod wsgi)
  • Ruby (apache-ruby)
  • Perl (mod perl)
  • ASP (apache-asp)

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

Сервера

1024px-Inside_and_Rear_of_Webserver

Рассмотрим пример на статическом сайте. На сервере расположен веб-документ, который в последствии мы запросим. Веб-документ представляет из себя статическую страничку .html оформленную согласно гипертекстовой разметки HTML (которую понимает ваш веб-обозреватель, браузер).

В промежуточном итоге мы имеем:

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

Не трудно догадаться, что осуществляя запрос, нам необходимо знать адрес, по которому доступен наш документ. Следовательно у всех веб-страниц, файлов есть свой уникальный адрес в сети интернет, именуемый — URL (Uniform Resource Locator) — Единый Указатель Ресурсов и свой, верней своя схема протокола передачи данных — HTTP (HyperText Transfer Protocol) — протокол передачи гипертекста, по правилам которой происходит запрос/ответ серверов (компьютерных машин).

Адреса удаленных машин на самом деле выглядят не  так красиво, как вы привыкли это видеть, ну например, http://apple.com/. Ведь на самом деле адрес сервера на котором расположен сайт выглядит так: 23.74.189.15

Вот пример проверки связи с сервером и обмен пакетами с адресом сайта компании «Apple» и «Яндекс», как мы видим за красивыми адресами, на самом деле скрывается обращение к IP сервера

Пинг

Согласитесь, что намного проще запомнить имя, нежели сочетание цифр и точек 🙂 Поэтому система, с помощью которой происходит преобразование этих IP-адресов в красивые адреса — называется системой DNS, в лице корпорации по управлению доменными именами и IP-адресами (сокращённо ICANN ).

Ну вот, пожалуй и все волшебство, которое происходит за кулисами.

Контрольные вопросы

  1. Что такое веб-сервер и чем он отличается от вашего ноутбука? 
  2. Принцип работы, взаимодействия компьютеров при запросе веб-страницы.
Рубрики
WordPress Глава 1

Введение в веб-технологии


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

Создание сайта

Разработка веб-приложения, на примере веб-сайта включает в себя ряд взаимосвязанных этапов:

  1. Планирование и прототипирование
  2. Разработку дизайна (веб-дизайн страниц)
  3. Верстку с дизайн-макетов
  4. Веб-программирование
  5. Настройку веб-сервера и тестирование

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

Так какая разница между статичным и динамичным сайтом?

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

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

Да! Достаточно только язык разметки HTML и для художественной свободы в оформлении дизайна — технологии CSS.

HTML — язык разметки информации на страницы по средствам тегов — специальных символов, которые понимает браузер (веб-обозреватель) и при рендере (отрисовке, построении) страницы и поведение этих элементов зависит строго от применяемых тегов согласно спецификации W3. Это справедливо и для технологии CSS, которая дополняет HTML и позволяет задавать правила для каждого элемента на страницы.

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

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

Назначение интернета

Давайте не будем забывать истинное предназначение сети интернет. Интернет, по сути, это поисковые машины, которые призваны отвечать на вопросы пользователей. Следовательно задача и назначение сайта — представить эту информацию в удобном для восприятия виде.

Если вам необходимо как то обозначить свой товар или услугу в сети, то совсем не обязательно использовать для этого дорогой хостинг и «напичканную» , ресурсозатратную CMS. Если вы владеете HTML, CSS, то этих знаний будет достаточно для создания полноценного Landing Page — страницы на которой вы сможете представить свой товар или услугу. Не стоит забывать и о бесплатных возможностях, таких, например, как сервис wix.ru , wordpress.com .

Серверные языки программирования

PHP

 

Python

На самом деле серверных языков программирование приличное количество, которое не ограничивается языком PHP на котором собственно и написана CMC WordPress. Одни из самых популярных это:

  • PHP
  • Python
  • .NET
  • Ruby
  • Perl

При хорошем знании и навыке использования языка, а на это уйдет несколько лет, перед вами открывается возможность построения веб-приложений. Часто функционал приложения чем то схож с уже подобным функционалом, который задействован на других ресурсах, ну например публикация страниц на сайте через интерфейс, или регистрация и роли пользователей, или рубрикация на сайте и создание меню. Согласитесь, что писать функционал с нуля для каждого сайта это бесконечная груда работы, повторяющихся действий… вот именно поэтому вы однажды задумаетесь о неких заготовках функций, которые будет удобно применять в последующих разработках, верно? Радуйтесь! Об этом уже подумали, на эти «грабли» наступили уже до вас!

FRAMEWORK (каркас)

В мире веб-разработки существует достаточно большое количество этих самых заготовок, которые экономят ваши силы, нервы и время 🙂

django-logo-positive

 

Ruby_on_Rails-logo

 

ZendFramework-logo

Одни из самых популярных в мире PHP (написаны на нем) являются:

  • Yii
  • Kohana
  • CodeIgniter
  • Zend Framework
  • CakePHP
  • Symfony

Например, язык «Phyton» представляет «Django», «Ruby» — популярный фреймворк «Ruby on Rails».

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

Друпал

 

ВордПресс

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

Но что если наша CMS имеет в себе еще ряд заготовленных функций для ее расширения? К таким продуктам смело можно отнести «Drupal» и «WordPress», в обеих CMS есть в арсенале прекрасная документация для разработчиков, то следовательно справедливо добавить к аббревиатуре CMS, аббревиатуру — CMF (Content Management Framework). Поэтому как CMS WordPress, так и CMS Drupal имеют полное право использовать двойную аббревиатуру — CMS/CMF, наличие второй предполагает смысл того, что оба продукта уже выступают в роли системы управления содержимым сайта, а так же могут с помощью своей документации расширяться под нужды разработчика.

Контрольные вопросы

  1. Какая разница между статическим и динамическим сайтами?
  2. Для чего нужен HTML, CSS?
  3. Приведите пример серверного языка программирования, его отличие от HTML?
  4. Что такое FRAMEWORK? Примеры фреймворков.
  5. Чем отличается аббревиатура продукта CMS от CMF? 
Рубрики
Глава 1

История WordPress


History of WordPress (файл для скачивания)

Страница истории WordPress на официальном сайте

Вот историческая веб-запись, датированная 23-ем числом, месяца мая, 2003 года, где мы видим первое упоминание о WordPress, как о новом проекте пришедшим на смену проекту b2, разработку которого возложили на свои плечи Matt Mullenweg и Mike Little, тем самым став cоснователями WP.

А уже 27 мая 2003 года вышел первый релиз носивший название WordPress 0.7, именно с этих цифр стартует первая версия «ВордПресс»

Скрин записи

Конечно, если разбираться более детально, то наверно справедливо будет упомянуть и о «движке» b2, на смену которому и пришел WordPress. Поэтому стоит увековечить еще одну дату-исток проекта b2: вот запись сделанная Michel Valdrighi 12 июня 2001 года.

Первая запись b2

На официальном сайте (ссылка в начале страницы) можно проанализировать эволюцию CMS WordPress, ведь не всегда он был таким, каким мы его знаем сейчас, а для любителей на миг вернуться в года минувшие существует страница архива релизов, которая берет свой отчет с версии 0.71-gold.

WordPress сегодня

Это мощная, активно развивающаяся CMS, с большим сообществом по всему миру. По независимым данным 20% всех сайтов в сети интернет работают под управлением «ВордПресс». Впечатляет цифра? А проект wordpress.com насчитывает на своих серверах более 80 миллионов веб-сайтов.

По всей планете силами энтузиастов, из которых и состоят сообщества, проходят встречи — конференции по WordPress — Wordcamp (крупного масштаба) и Meetup (мелкого масштаба), на которых докладчики конференции по средством выступлений делятся знаниями, а так же знакомятся друг с другом открывая тем самым для себя новые горизонты…

Фото-отчет с первой конференции по «ВордПресс» в 2013 году

Видеозаписи WordCamp Russia 2013

Фото с конференции

Фото с конференции

Фото с конференции

Рубрики
Глава 1

Что такое WordPress?


Кодекс Источник 1

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

Благодаря системам управления содержимым веб-сайта (CMS) порог при входе в мир веб-разработки становится намного ниже, что позволяет создавать вполне не плохие сайты даже непрофессионалам.

Основные возможности системы:

  • Публикация страниц
  • Наполнение и редактирование информации с помощью визуального редактора, в котором уже заложены функции форматирования текста, вставка изображений и др.
  • Создание иерархии разделов (таксономия)
  • Визуальный конструктор меню для сайта, из созданных разделов и страниц
  • Календарь, который служит для ведение блога и отражения событий (в виде записей) в хронологическом порядке
  • Каталогизатор медиафайлов
  • Система комментирования (одобрение, удаление комментариев)
  • Создание учетных записей по ролям для других пользователей

и прочие функции, неограниченное число которых доступно при задействовании плагинов.

Встречаются незнакомые слова? Немного терпения, дорогой читатель, и постепенно со всеми терминами мы познакомимся, тем самым создав в ясность и последовательность в уме.