1.5. Подключаем классы для работы с базой данных и шаблонами
Мы создали структуру для нашего фреймворка, теперь пора подумать о хранение данных: новостей, товаров. Объект для работы с БД должен уметь:
- Управлять соединение с БД
- Предоставлять небольшую абстракцию от БД
- Кешировать запросы
- Сделать общие операции с БД проще
Для этого мы создадим объект Registry/objects/db.class.php:
1.4. Приступаем к написанию MVC-фреймворка
Мы уже достаточно расписали, что должно быть у нас в фреймворке, пришло время реализовать наш фреймворк. Для начала Вам нужен веб-сервер. Вы можете попробовать денвер, но возможно вам придется обновить PHP.
Скачать денвер с PHP 5.5.20 вы можете с этой страницы:
https://drupalbook.org/ru/drupal/denwer-obnovlenie-php
или с github'a
1.3. Собираем наш PHP фреймворк
Есть много различных путей для конструирования фреймворка. Кто-то предпочитает очень сложные фреймворки, кто-то очень простые. В наших статьях мы собираемся быстро собрать простой в использование и простой в понимание фреймворк.
Наши статьи помогут Вам разработать свой фреймворк, отличающийся от того что нужен нам для создания интернет магазина, вы сможете легко добавить другие части к фреймворку для создания чего-то большего. Главная цель цикла статей научится делать свой собственный фреймворк для любых CMS.
1.2. Что будет в нашей CMS
После того как мы ознакомились с существующими commerce сайтами, мы должны выделить функционал нашей будущей CMS. Очевидно, что мы должны дать возможность пользователям найти, посмотреть товары в различных категориях. Пользователи должны иметь возможность заказать эти товары, добавив их в корзину и через процесс оформления заполнять данные заказа для вычисления стоимости доставки, оплаты и налогов. А также мы сделаем панель администрирования заказов и товаров. Ниже распишем подробно весь функционал:
Продукты
Мы должны сделать следующий функционал для товаров:
1.1. Создание своей CMS. Вступление.
В этой части нашего курса мы будем заниматься созданием свой CMS для интернет-магазина. Но прежде чем начать Вам следует прочитать вступление, чтобы понять нужно ли Вам писать свою CMS или взять к примеру Друпал с удобным Commerce (и кучей готовых модулей). Во вступление мы разберем:
Уроки PHP - Часть 3 - Создание своей CMS
Создание сайтов на CMS не ограничивается лишь Drupal, Joomla и Wordpress. В мире большинство сайтов сделано на самописных CMS. Несмотря на что уже написано много кода на PHP, программисты очень часто используют свои собственные разработки. Давайте попробуем понять зачем использовать свою CMS.
Уроки PHP - урок 4 - Работа с изображениями, библиотека GD2.
В прошлых уроках мы разобрались как писать запросы к БД, поэтому сейчас мы будем меньше внимания уделять как писать запросы, а будем просто тренероваться их писать. Будем также комбинировать написание запросов с изучением других возможностей PHP, начнем с обработки изображений. В одном из прошлых уроков мы уже загружали файлы, у нас даже есть таблица Files для загруженных файлов. Давайте загружать изображения в эту же таблицу. Но сначала нужно добавить поле для загрузки фотографии в форму создания материала.
Уроки PHP - урок 3.6 - Работа с БД MySQL. Виды оператора JOIN.
В MySQL выборку с помощью JOIN можно производить разными способами. Мы постараемся рассмотреть все эти виды запросов. Вот список всех запросов с участием JOIN:
- INNER JOIN
- LEFT JOIN
- LEFT JOIN без пересечений с правой таблицей
- RIGHT JOIN
- RIGHT JOIN без пересечений с левой таблицей
- FULL OUTER
- FULL OUTER где левая или правая таблица пустая
А вот иллюстрация к этим видам JOIN:
Уроки PHP - урок 3.5 - Работа с БД MySQL. Оператор JOIN. Загрузка файлов на сервер.
Прежде чем начать писать этот урок, я долго думал как лучше преподать запросы с операторами JOIN. Дело в том что оператор JOIN нужен для выборки из нескольких таблиц сразу. И раз нужна еще одна таблица, то создадим ее. Я предлагаю создать таблицу для файлов, которые мы будем загружать через форму уже в этом уроке. Получится урок по двум разным направления работа с БД и работа с формами.
Начнем, пожалуй, с добавления поля для загрузки файла. Для того чтобы форма могла загружать файлы, нужно добавить тип формы в ее параметры:
Уроки PHP - урок 3.4 - Работа с БД MySQL. Запросы удаления DELETE.
В прошлом уроке мы разобрались как добавлять новые методы к нашему управляющему классу simpleCMS, теперь давайте добавим еще один метод удаления записи delete().
Добавлять мы будем метод как обычно:
public function delete($mid){ }
Как вы видите мы передаем параметр $mid - id нашей записи. Если вы вспомните прошлый урок, то мы решили использовать другой способ передачи параметра, напрямую из get-запроса, а сейчас мы попробуем передавать параметр другим путем.