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', ];</p> <p>}</p> <p>#接下來,在我們的Index控制器中,我們將使用ORM來取得所有文章,並將它們傳遞到視圖中進行顯示。要實現這一點,我們將使用以下程式碼:</p> <p><?php<br/>namespace app\article\controller;</p>##use app\article\model\Articles;<p></p>class Index<p>{<br/><pre class="brush:php;toolbar:false">public function index() { // 获取所有文章 $articles = Articles::select(); // 渲染视图 return view('index', [ 'articles' => $articles, ]); }</p>}<p></p>在我們的視圖中,我們將顯示所有文章的標題和創建日期,並提供一個鏈接,以便用戶編輯和刪除文章。視圖檔案如下:<p></p><!DOCTYPE html><p><html><br><head><br></p> <pre class="brush:php;toolbar:false"><title>文章列表</title>
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]); ?>">編輯刪除 |