Maison  >  Article  >  développement back-end  >  Construire un système de gestion de contenu dynamique avec PHP

Construire un système de gestion de contenu dynamique avec PHP

王林
王林original
2024-10-10 11:47:22829parcourir

Vous pouvez utiliser PHP pour créer un système de gestion de contenu (CMS) dynamique qui permet aux utilisateurs de gérer le contenu d'un site Web. Les étapes comprennent : 1. Créer une base de données 2. Se connecter à MySQL 3. Créer un contrôleur pour créer des articles 4. Créer un contrôleur pour lire des articles 5. Créer un contrôleur pour mettre à jour des articles 6. Créer un contrôleur pour supprimer des articles Contrôleur 7. Configurer routage 8. Créer des vues 9. Une fois terminé, le CMS est prêt à être utilisé.

Build a Dynamic Content Management System with PHP

Création d'un système de gestion de contenu dynamique à l'aide de PHP

Introduction

Un système de gestion de contenu dynamique (CMS) permet aux utilisateurs de gérer et de maintenir contenu sur un site Web Contenu, aucune connaissance technique requise. Cet article vous guidera dans la création d'un CMS simple à l'aide de PHP.

Cas pratique

Nous allons créer un CMS de blog simple qui permet aux utilisateurs de créer, modifier et supprimer des articles de blog.

Étapes

1. Créer une base de données

CREATE TABLE articles (
  id INT AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(255) NOT NULL,
  content TEXT NOT NULL,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

2. 🎜 >3. Créer CreateController

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_cms";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

4. Créer ReadController

class CreateController {
  public function store() {
    $title = $_POST['title'];
    $content = $_POST['content'];

    $sql = "INSERT INTO articles (title, content) VALUES (?, ?)";
    $stmt = $this->conn->prepare($sql);
    $stmt->bind_param("ss", $title, $content);
    $stmt->execute();

    header("Location: /");
    exit;
  }
}

5.

class ReadController {
  public function index() {
    $sql = "SELECT * FROM articles ORDER BY created_at DESC";
    $stmt = $this->conn->prepare($sql);
    $stmt->execute();

    $articles = $stmt->get_result()->fetch_all(MYSQLI_ASSOC);

    return view('articles/index', ['articles' => $articles]);
  }
}

6. Créer un contrôleur de suppression

class UpdateController {
  public function edit($id) {
    $sql = "SELECT * FROM articles WHERE id = ?";
    $stmt = $this->conn->prepare($sql);
    $stmt->bind_param("i", $id);
    $stmt->execute();

    $article = $stmt->get_result()->fetch_assoc();

    return view('articles/edit', ['article' => $article]);
  }

  public function update($id) {
    $title = $_POST['title'];
    $content = $_POST['content'];

    $sql = "UPDATE articles SET title = ?, content = ? WHERE id = ?";
    $stmt = $this->conn->prepare($sql);
    $stmt->bind_param("ssi", $title, $content, $id);
    $stmt->execute();

    header("Location: /");
    exit;
  }
}

7. Créer un itinéraire

class DeleteController {
  public function destroy($id) {
    $sql = "DELETE FROM articles WHERE id = ?";
    $stmt = $this->conn->prepare($sql);
    $stmt->bind_param("i", $id);
    $stmt->execute();

    header("Location: /");
    exit;
  }
}
Utilisez la configuration de votre système de routage préféré. routage.

8. Créer des vues

Créez le fichier de vue à l'aide de votre moteur de modèle préféré.

9. Terminez

Une fois ces étapes terminées, votre CMS est prêt !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn