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><p>use app\article\model\Articles;</p><p>class Index<br/>{</p><pre class="brush:php;toolbar:false">public function index() { // 获取所有文章 $articles = Articles::select(); // 渲染视图 return view('index', [ 'articles' => $articles, ]); }</p> <p>}</p> <p>在我们的视图中,我们将显示所有文章的标题和创建日期,并提供一个链接,以便用户编辑和删除文章。视图文件如下:</p> <p><!DOCTYPE html><br><html><br><head></p> <pre class="brush:php;toolbar:false"><title>文章列表</title>
标题 | 创建日期 | 操作 |
---|---|---|
title; ?> | created_at); ?> | $article->id]); ?>">编辑 $article->id]); ?>">删除 |