Создаем на PHP простую админ-панель для блога с хранением данных в MongoDB
Сегодня мы создадим простую административную панель на PHP с использованием MongoDB для хранения данных нашего блога.
Шаг 1: Установка и настройка MongoDB
Прежде всего, нам нужно установить MongoDB на наш сервер. Вы можете скачать последнюю версию с официального сайта MongoDB. После установки запустите сервис MongoDB.Шаг 2: Создание базы данных и коллекции
Давайте создадим базу данных «blog» и коллекцию «posts». Это будет наша основная коллекция, где будут храниться записи блога.$ mongo
MongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8a6d3e9b-97f0-4cce-9190-36722073045d") }
MongoDB server version: 4.4.0
> use blog
switched to db blog
> db.createCollection("posts")
{ "acknowledged" : true, "insertedId" : ObjectId("5ea52e4782b19a7a18671162"), "insertedCount" : 1 }
Шаг 3: Создание модели данных
Теперь давайте определим модель данных для наших записей блога. Мы будем использовать класс «Post» для представления каждой записи.class Post
{
public $id;
public $title;
public $content;
public $createdAt;
public function __construct($title, $content)
{
$this->title = $title;
$this->content = $content;
$this->createdAt = new DateTime();
}
}
Шаг 4: Создание административной панели
Далее, мы создадим административную панель, которая позволит нам добавлять, редактировать и удалять записи блога. Для этого мы напишем несколько функций на PHP.function addPost($title, $content)
{
global $mongo;
$post = new Post($title, $content);
$collection = new MongoDB\Collection($mongo, 'blog');
$result = $collection->posts->insertOne([
'_id' => new MongoDB\BSON\ObjectID(),
'title' => $post->title,
'content' => $post->content,
'createdAt' => $post->createdAt->format('Y-m-d H:i:s')
]);
return $result['acknowledged'] ? $result['insertedId'] : null;
}
function editPost($id, $title, $content)
{
global $mongo;
$collection = new MongoDB\Collection($mongo, 'blog');
$filter = ['_id' => (new MongoDB\BSON\ObjectID($id))];
$update = [
'$set' => [
'title' => $title,
'content' => $content
]
];
$options = ['upsert' => false, 'multi' => false];
$result = $collection->posts->updateOne($filter, $update, $options);
return $result['modifiedCount'] > 0;
}
function deletePost($id)
{
global $mongo;
$collection = new MongoDB\Collection($mongo, 'blog');
$filter = ['_id' => (new MongoDB\BSON\ObjectID($id))];
$options = ['single' => true];
$result = $collection->posts->deleteOne($filter, $options);
return $result['deletedCount'] > 0;
}
Шаг 5: Добавление пользовательского интерфейса
Теперь, когда у нас есть все необходимые функции, мы можем создать простой пользовательский интерфейс для работы с нашей административной панелью. Для примера возьмем добавление записи.<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Admin Panel</title>
</head>
<body>
<form action="addPost.php" method="post">
<label for="title">Title:</label>
<input type="text" id="title" name="title" required>
<label for="content">Content:</label>
<textarea id="content" name="content" required></textarea>
<button type="submit">Add Post</button>
</form>
</body>
</html>
Похожие публикации
Нет комментариев