Heim > PHP-Framework > Denken Sie an PHP > So implementieren Sie die Artikelbearbeitungsfunktion von thinkphp

So implementieren Sie die Artikelbearbeitungsfunktion von thinkphp

PHPz
Freigeben: 2023-04-11 14:11:17
Original
707 Leute haben es durchsucht

ThinkPHP ist ein PHP-Framework, das auf dem MVC-Entwicklungsmodell basiert und für die Entwicklung schneller, skalierbarer und einfach zu wartender Webanwendungen verwendet wird. In diesem Artikel erfahren Sie, wie Sie die Leistungsfähigkeit des ThinkPHP-Frameworks nutzen, um einfache Artikelbearbeitungsfunktionen in einer Webanwendung zu implementieren.

Wir werden ein Modul namens „Artikel“ erstellen, das die Funktionen zum Erstellen, Bearbeiten und Löschen von Artikeln enthält. Wir beginnen mit der Datenbank und erstellen eine neue Datentabelle „Artikel“, in der verschiedene Eigenschaften der Artikel wie Titel, Inhalt und Status gespeichert werden.

Zuerst müssen wir eine Datenbank mit einem zufälligen Namen erstellen. Innerhalb dieser Datenbank erstellen wir eine neue Tabelle mit dem Namen „Artikel“. Diese Tabelle enthält die folgenden Spalten:

id – Dies ist eine eindeutige Kennung für jeden Beitrag, es handelt sich um eine Ganzzahl, einen Primärschlüssel und eine automatische Inkrementierung.

Titel – Dies ist der Titel des Artikels, es handelt sich um eine Zeichenfolge mit bis zu 50 Zeichen.

body – Dies ist der Hauptteil des Artikels, es wird ein einziger großer Text sein.

status – Dies ist der Status des Artikels, es wird ein boolescher Wert sein.

created_at – Dies ist der Datums- und Zeitstempel, an dem der Artikel erstellt wurde, es wird eine Ganzzahl sein.

updated_at – Dies ist der Datums- und Zeitstempel der letzten Aktualisierung des Artikels, es handelt sich um eine Ganzzahl.

Als nächstes erstellen wir in unserem Projekt ein Modul namens „Article“. Wir können ein neues Modul erstellen, indem wir den folgenden Befehl im Terminal verwenden:

php think module Article

Dies wird in unserem „Erstellen Sie ein Modul mit dem Namen „“ Artikel“ in Ihrem Projekt. Dieses Modul enthält die folgenden Controller: Index, Erstellen, Bearbeiten, Löschen und Aktualisieren. Wir werden die Artikeltabelle im „Article“-Modell definieren und die Artikelliste im „Article“-Index-Controller implementieren.

In unserem Modell müssen wir ThinkPHP ORM verwenden, um die Artikeltabelle zu definieren. Wir können der Modelldatei den folgenden Code hinzufügen, um die Artikeltabelle zu definieren:

namespace apparticlemodel;

use thinkModel;

class Articles erweitert Model
{

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

// 数据表名

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>Als nächstes in In unserem Index-Controller verwenden wir den ORM, um alle Artikel abzurufen und sie zur Anzeige an die Ansicht zu übergeben. Um dies zu erreichen, verwenden wir den folgenden Code: </p>

<p><?php Titel und Erstellungsdatum und stellen einen Link bereit, damit Benutzer den Artikel bearbeiten und löschen können. Die Ansichtsdatei lautet wie folgt: <br/></p><!DOCTYPE html></p>

<p><html></p><head><p></p>

<pre class="brush:php;toolbar:false">public function index()

{

    // 获取所有文章

    $articles = Articles::select();

 

    // 渲染视图

    return view('index', [

        'articles' => $articles,

    ]);

}

Nach dem Login kopieren

Article List



Titel

Erstellungsdatum

Aktion

title; ?> created_at); Article- >id]); ?>">Edit">创建文章


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

namespace app\article\controller;

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

class Create
{

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

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>

Nach dem Login kopieren


创建文章

1

2

3

4

5

6

7

<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>

Nach dem Login kopieren


在我们的“Article”的Edit控制器中,我们将显示与Create视图相似的表单,但是表单将包含当前文章的标题和主体字段。我们将使用以下代码实现:

namespace app\article\controller;

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

class Edit
{

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

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>

Nach dem Login kopieren


编辑文章

1

2

3

4

5

6

7

8

9

<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>

Nach dem Login kopieren


在我们的“Article”的Delete控制器中,我们将删除当前文章。我们将使用以下代码实现:

namespace app\article\controller;

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

class Delete
{

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

public function index(Request $request)

{

    // 获取文章ID

    $id = $request->param('id');

 

    // 删除文章

    Articles::destroy($id);

 

    // 跳转到文章列表页面

    return redirect('/article/index');

}<p></p>

<p>}</p>

<p>我们的Delete控制器中只有一个方法:index。这个方法将获取当前文章的ID,并从数据库中删除它。然后,它将重定向到文章列表页面。</p>

<p>现在我们已经完成了我们的“Article”模块。我们可以在我们的应用程序中使用以下URL访问它:</p>

<p>/article/index – 文章列表</p>

<p>/article/create – 创建文章</p>

<p>/article/edit/id – 编辑文章</p>

<p>/article/delete/id – 删除文章</p>

<p>我们已经成功地使用ThinkPHP框架创建了一个简单的文章编辑应用程序。现在,我们可以使用这些知识来创建更复杂的Web应用程序。</p>

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Artikelbearbeitungsfunktion von thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage