Цикл матеріалів «Створення блогу на PHP»
Перша лекція - вступна. Практичних прикладів і завдань буде мінімум, ми поговоримо про більш абстрактні речі. Але вже на другому уроці ми перейдемо до практичних завдань.
Чому ми вибрали саме блог? Блог - найбільш популярний формат сайту. Якщо ви навчитеся створювати з нуля блог, без проблем можна розширити свої вміння і на інтернет-магазин і на портали побільше.
Формат блогу дуже популярний. Крім того, якщо ви навчитеся створювати з нуля блог, без проблем можна розширити свої вміння і на інтернет-магазин і на портали побільше.
Наші рамки Ми використовуємо PHP, MySQL і не використовуємо фреймворки. Веб-сервер у вас вже налаштований.
Створення блогу - нетривіальне завдання (якщо, звичайно, не розглядати готові платформи типу LiveJournal або Blogger). Варіантів її реалізації - тисячі і нам необхідно визначити рамки завдання:
- Ми використовуємо PHP. Є багато інших мов і платформ для бекенда, використання будь-якого з них - справа смаку. Ми будемо говорити про чистому PHP і про патернах програмування. Будемо вважати, що базові знання з PHP у вас є.
- Ми використовуємо MySQL. Як БД можна використовувати і інші СУБД, але ми будемо використовувати MySQL як найпопулярнішу. У майбутньому можна буде підключити Memcached.
- Ми не використовуємо готові CMS. Оскільки наша мета - підтягнути PHP і вивчити архітектуру блогу, ми не будемо використовувати готові CMS, адже в більшості випадків розробка блогу на CMS - це все-таки верстка і настройка блогу в адміністративній панелі.
- Ми не використовуємо фреймворки. Фреймворки - це добре, класно і правильно, але, знову ж таки, мета нашого уроку - глибше вивчити PHP, а фреймворки дають певний рівень абстракції і віддаляють нас від тих повчальних граблів і стусанів.
- Будемо вважати, що веб-сервер у вас вже налаштований.
З рамками визначилися, продовжуємо.
Що потрібно знати для того, щоб створити блог на PHP з нуля?
В даному циклі статей я буду розповідати про архітектуру, місцями я розповім про нюанси того чи іншого підходу, але для початку у вас вже повинні бути знання наступних мов програмування / технологій:
Бажано також вміти добре і красиво верстати, ну і почуття смаку теж не завадить.
Що ми очікуємо від блогу? Що в блозі має бути?
Блоги бувають різні - прості, складні, різної тематики, особисті та корпоративні, з різними типами записів і т.д. Базовий функціонал блогу включає в себе певні сторінки:
Як бачите, нічого складного.
Что такое осень блог? Блог (та й взагалі будь-який сайт) можна представити у вигляді сторінок, функціональних блоків на цих сторінках.
Ці всі сторінки повинні взаємодіяти. Різні модулі:
Яким блог повинен бути структурно?
Я розповім на прикладі свого блогу, ви ж можете йти іншим шляхом. На кожній сторінці розташовані різні блоки, нам буде потрібно. Кожен блок (компонент).
Роутер, система взаємодії. Приклади.
Патерни програмування. MVC і Singleton
Колись давно програмістів було мало і кожен програміст по купі раз наступав на граблі, винаходив свої велосипеди і писав свої милиці. Потім, коли програмістів стало багато і вони втомилися винаходити велосипеди, якісь програмісти зрозуміли що часто код структурно можна об'єднати в групи, такі собі «Шаблончики проектування». Такі ось структурні шаблони і називаються патерни програмування. У сьогоднішній статті ми розглянемо патерни MVC, і Singleton.
патерн Singleton
патерн MVC
MVC - це абревіатура Model-View-Controller. Кожен компонент (візуально - блок) на сайті ми представляємо в наступному вигляді.
При цьому М одель визначає роботу з даними.
Часто можна комбінувати різні моделі і view. наприклад:
- Бічні блоки (різні моделі, один view);
- Блог і список матеріалів (Одна модель, різні View).
Чому MVC? Можливість розширення, гнучкість.
Отримання даних виносимо в ще один абстрактний шар - бібліотеки. Це буває корисно коли у нас є админка. Тоді нам не доводиться по кілька разів займатися вибірками з бази, кешуванням та іншими речами в кожної моделі.
- Libraries - папка з бібліотеками;
- Components - папка з компонентами;
- Templates - папка з шаблонами.
- Розібратися в патернах програмування MVC і Singleton.
- Спробувати розглянути структуру роботи популярних CMS.
- Спробувати зробити начерк своєї CMS (скачати начерк CMS від konservs.com).
На наступному занятті ми вивчимо:
- Налагодження і логирование в CMS.
- Мова SQL. Робота з MySQL.
- Написання Singleton класу для MySQL і виконання простих запитів.
Зміст уроків
Ну, і наостанок, короткий зміст уроків:
Вітаю всіх, хто подужав такий великий урок. До зустрічі!