Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk melaksanakan fungsi penyuntingan artikel thinkphp

Bagaimana untuk melaksanakan fungsi penyuntingan artikel thinkphp

PHPz
PHPzasal
2023-04-11 10:31:53646semak imbas

ThinkPHP ialah rangka kerja PHP berdasarkan model pembangunan MVC, digunakan untuk pembangunan aplikasi web yang pantas, berskala dan mudah diselenggara. Dalam artikel ini, kita akan belajar cara menggunakan kuasa rangka kerja ThinkPHP untuk melaksanakan fungsi penyuntingan artikel ringkas dalam aplikasi web.

Kami akan mencipta modul yang dipanggil "Artikel", yang akan mengandungi fungsi mencipta, mengedit dan memadam artikel. Kami akan bermula dengan pangkalan data dan mencipta jadual data baharu "artikel" yang akan menyimpan pelbagai sifat artikel seperti tajuk, kandungan dan status.

Pertama, kita perlu mencipta pangkalan data dengan nama rawak. Dalam pangkalan data ini, kami akan mencipta jadual baharu bernama "artikel". Jadual ini akan mempunyai lajur berikut:

id – Ini ialah pengecam unik untuk setiap siaran, ia akan menjadi integer, kunci utama dan penambahan automatik.

tajuk – Ini ialah tajuk artikel, ia akan menjadi rentetan, sehingga 50 aksara.

badan – Ini ialah isi utama artikel, ia akan menjadi satu teks besar.

status – Ini ialah status artikel, ia akan menjadi nilai boolean.

created_at – Ini ialah cap masa tarikh apabila artikel itu dibuat, ia akan menjadi integer.

updated_at – Ini ialah cap masa tarikh apabila artikel kali terakhir dikemas kini, ia akan menjadi integer.

Seterusnya, dalam projek kami, kami akan mencipta modul yang dipanggil "Artikel", kami boleh mencipta modul baharu dengan menggunakan arahan berikut dalam terminal:

Artikel modul berfikir php

Ini akan mencipta modul yang dipanggil "Artikel" dalam projek kami. Modul ini akan mengandungi pengawal berikut: Indeks, Cipta, Edit, Padam dan Kemas Kini. Kami akan mentakrifkan jadual Artikel dalam model "Artikel" dan melaksanakan senarai artikel dalam pengawal Indeks "Artikel".

Dalam model kami, kami perlu menggunakan ThinkPHP ORM untuk mentakrifkan jadual Artikel. Kami boleh menambah kod berikut pada fail model untuk mentakrifkan jadual Artikel:

model apparticle namespace;

gunakan thinkModel;

artikel kelas dilanjutkan 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> Seterusnya, dalam pengawal Indeks kami, kami akan menggunakan ORM untuk mendapatkan semua artikel dan menghantarnya ke paparan untuk paparan . Untuk mencapai matlamat ini, kami akan menggunakan kod berikut: ></p>
<p>}<br></p>Pada pandangan kami, kami akan memaparkan tajuk dan tarikh penciptaan semua artikel dan menyediakan pautan untuk pengguna mengedit dan memadam artikel itu. Fail paparan adalah seperti berikut: <p></p><!DOCTYPE html><p><html><br><head></p>
<pre class="brush:php;toolbar:false">public function index()
{
    // 获取所有文章
    $articles = Articles::select();

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

Senarai artikel


">创建文章


在我们的“Article”的Create控制器中,我们将显示一个表单,以供用户创建新的文章。表单将包含标题和主体字段,以及submit按钮。我们将使用以下代码来实现:

namespace app\article\controller;

use app\article\model\Articles;
use think\Request;

class Create
{

public function index()
{
    // 渲染视图
    return view(&#39;create&#39;);
}

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');
}</p>
<p>}</p>
<p>我们的Create控制器中有两个方法:index和create。index方法将渲染我们的表单视图,create方法将获取表单数据并在数据库中创建新的文章。</p>
<p>我们的表单视图将包含一个<form>标记,其中包含“标题”和“主体”输入字段,以及submit按钮。表单视图如下所示:</p>
<p><!DOCTYPE html><br><html><br><head></p>
<pre class="brush:php;toolbar:false"><title>创建文章</title>


创建文章

<label for="title">标题</label>
<input type="text" name="title" id="title">

<label for="body">主体</label>
<textarea name="body" id="body"></textarea>

<button type="submit">创建</button>


在我们的“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');
}</p>
<p>}</p>
<p>我们的Edit控制器中也有两个方法:index和update。index方法将获取当前文章的数据,并渲染我们的表单视图。update方法将获取表单数据并更新文章。</p>
<p>我们的表单视图将包含一个<form>标记,其中包含输入字段,以供用户编辑当前文章的标题和主体。表单视图显示如下:</p>
<p><!DOCTYPE html><br><html><br><head></p>
<pre class="brush:php;toolbar:false"><title>编辑文章</title>


编辑文章

<input type="hidden" name="id" value="<?php echo $article->id; ?>">

<label for="title">标题</label>
<input type="text" name="title" id="title" value="<?php echo $article->title; ?>">

<label for="body">主体</label>
<textarea name="body" id="body"><?php echo $article->body; ?></textarea>

<button type="submit">更新</button>


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

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi penyuntingan artikel thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!