thinkphp文章編輯功能怎麼實現

PHPz
發布: 2023-04-11 14:11:17
原創
543 人瀏覽過

ThinkPHP是一種基於MVC開發模式的PHP框架,用於快速、可擴展且易於維護的Web應用程式的開發。在本文中,我們將學習如何使用ThinkPHP框架的強大功能,在Web應用程式中實作簡單的文章編輯功能。

我們將建立一個名為「Article」的模組,這個模組將包含文章的建立、編輯和刪除功能。我們將從資料庫開始,建立一個新的資料表“articles”,它將儲存文章的各種屬性,如標題、內容和狀態。

首先,我們需要建立一個資料庫,名稱隨意。在該資料庫中,我們將建立一個新的表,命名為「articles」。這個表將具有以下列:

id – 這是每篇文章的唯一標識符,它將是一個整數,主鍵和自動遞增。

title – 這是文章的標題,它將是一個字串,最長50個字元。

body – 這是文章的主體內容,它將是一個大文字。

status – 這是文章的狀態,它將是一個布林值。

created_at – 這是文章創建的日期時間戳,它將是一個整數。

updated_at – 這是文章最近更新的日期時間戳,它將是一個整數。

接下來,在我們的專案中,我們將建立一個名為「Article」的模組,我們可以透過在終端機中使用以下命令建立一個新的模組:

php think module Article

這將在我們的專案中建立一個名為「Article」的模組。此模組將包含以下控制器:Index,Create,Edit,Delete和Update。我們將在「Article」的模型中定義Articles表,並在「Article」的Index控制器中實作文章清單。

在我們的模型中,我們需要使用ThinkPHP ORM來定義Articles表。我們可以將以下程式碼加入模型檔中,以便定義Articles表:

namespace app\article\model;

use think\Model;

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', ];

}

#接下來,在我們的Index控制器中,我們將使用ORM來取得所有文章,並將它們傳遞到視圖中進行顯示。要實現這一點,我們將使用以下程式碼:

namespace app\article\controller;

##use app\article\model\Articles;

class Index

{

public function index() { // 获取所有文章 $articles = Articles::select(); // 渲染视图 return view('index', [ 'articles' => $articles, ]); }

}

在我們的視圖中,我們將顯示所有文章的標題和創建日期,並提供一個鏈接,以便用戶編輯和刪除文章。視圖檔案如下:



文章列表
登入後複製

##

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'); }
登入後複製

文章列表

標題 建立日期 操作 title; ?> created_at); ?>
$article->id]); ?>">編輯刪除
###

">创建文章


在我们的“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方法将获取表单数据并在数据库中创建新的文章。

我们的表单视图将包含一个

标记,其中包含“标题”和“主体”输入字段,以及submit按钮。表单视图如下所示:



创建文章
登入後複製


创建文章

    
登入後複製


在我们的“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应用程序。

以上是thinkphp文章編輯功能怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!