ThinkPHP est un framework PHP basé sur le modèle de développement MVC, utilisé pour le développement d'applications Web rapides, évolutives et faciles à maintenir. Dans cet article, nous apprendrons comment utiliser la puissance du framework ThinkPHP pour implémenter des fonctions simples d'édition d'articles dans une application Web.
Nous allons créer un module appelé "Article", qui contiendra les fonctions de création, d'édition et de suppression d'articles. Nous allons commencer par la base de données et créer une nouvelle table de données « articles » qui stockera diverses propriétés des articles telles que le titre, le contenu et le statut.
Tout d'abord, nous devons créer une base de données avec un nom aléatoire. Au sein de cette base de données, nous allons créer une nouvelle table nommée « articles ». Ce tableau aura les colonnes suivantes :
id – Il s'agit d'un identifiant unique pour chaque publication, ce sera un entier, une clé primaire et auto-incrémenté.
titre – C'est le titre de l'article, ce sera une chaîne, jusqu'à 50 caractères.
body – Ceci est le corps principal de l’article, ce sera un gros texte.
statut – C'est le statut de l'article, ce sera une valeur booléenne.
created_at – Il s'agit de la date et de l'horodatage de la création de l'article, ce sera un entier.
updated_at – Il s'agit de la date et de l'horodatage de la dernière mise à jour de l'article, ce sera un entier.
Ensuite, dans notre projet nous allons créer un module appelé "Article", nous pouvons créer un nouveau module en utilisant la commande suivante dans le terminal :
php think module Article
Ce sera dans notre Créer un module nommé " Article" dans votre projet. Ce module contiendra les contrôleurs suivants : Index, Créer, Modifier, Supprimer et Mettre à jour. Nous allons définir la table Articles dans le modèle "Article" et implémenter la liste d'articles dans le contrôleur d'index de "Article".
Dans notre modèle, nous devons utiliser ThinkPHP ORM pour définir la table Articles. Nous pouvons ajouter le code suivant au fichier modèle pour définir la table Articles :
namespace apparticlemodel;
use thinkModel;
class Articles extends Model
{
// 数据表名 protected $table = 'articles'; // 主键名 protected $pk = 'id'; // 字段定义 protected $schema = [ 'id' => 'int', 'title' => 'string', 'body' => 'text', 'status' => 'boolean', 'created_at' => 'int', 'updated_at' => 'int', ];}
Ensuite, dans notre In le contrôleur d'index, nous utiliserons l'ORM pour obtenir tous les articles et les transmettre à la vue pour affichage. Pour y parvenir, nous utiliserons le code suivant :
public function index() { // 获取所有文章 $articles = Articles::select(); // 渲染视图 return view('index', [ 'articles' => $articles, ]); }Copier après la connexion
created_at ?>
在我们的“Article”的Create控制器中,我们将显示一个表单,以供用户创建新的文章。表单将包含标题和主体字段,以及submit按钮。我们将使用以下代码来实现:
namespace app\article\controller;
use app\article\model\Articles;
use think\Request;
class Create
{
public function index() { // 渲染视图 return view('create'); } public function create(Request $request) { // 获取表单数据 $title = $request->param('title'); $body = $request->param('body'); // 创建新文章 $article = new Articles(); $article->title = $title; $article->body = $body; $article->status = true; $article->created_at = time(); $article->updated_at = time(); $article->save(); // 跳转到文章列表页面 return redirect('/article/index'); }}
我们的Create控制器中有两个方法:index和create。index方法将渲染我们的表单视图,create方法将获取表单数据并在数据库中创建新的文章。
我们的表单视图将包含一个
在我们的“Article”的Edit控制器中,我们将显示与Create视图相似的表单,但是表单将包含当前文章的标题和主体字段。我们将使用以下代码实现:
namespace app\article\controller;
use app\article\model\Articles;
use think\Request;
class Edit
{
public function index(Request $request) { // 获取文章ID $id = $request->param('id'); // 获取文章 $article = Articles::find($id); // 渲染视图 return view('edit', [ 'article' => $article, ]); } public function update(Request $request) { // 获取表单数据 $id = $request->param('id'); $title = $request->param('title'); $body = $request->param('body'); // 更新文章 $article = Articles::find($id); $article->title = $title; $article->body = $body; $article->updated_at = time(); $article->save(); // 跳转到文章列表页面 return redirect('/article/index'); }}
我们的Edit控制器中也有两个方法:index和update。index方法将获取当前文章的数据,并渲染我们的表单视图。update方法将获取表单数据并更新文章。
我们的表单视图将包含一个
在我们的“Article”的Delete控制器中,我们将删除当前文章。我们将使用以下代码实现:
namespace app\article\controller;
use app\article\model\Articles;
use think\Request;
class Delete
{
public function index(Request $request) { // 获取文章ID $id = $request->param('id'); // 删除文章 Articles::destroy($id); // 跳转到文章列表页面 return redirect('/article/index'); }}
我们的Delete控制器中只有一个方法:index。这个方法将获取当前文章的ID,并从数据库中删除它。然后,它将重定向到文章列表页面。
现在我们已经完成了我们的“Article”模块。我们可以在我们的应用程序中使用以下URL访问它:
/article/index – 文章列表
/article/create – 创建文章
/article/edit/id – 编辑文章
/article/delete/id – 删除文章
我们已经成功地使用ThinkPHP框架创建了一个简单的文章编辑应用程序。现在,我们可以使用这些知识来创建更复杂的Web应用程序。
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!