Laravel 是一个流行的 PHP 框架,以其简单和强大而闻名。它允许开发人员创建强大且可扩展的后端服务。
在本指南中,我们将介绍使用Laravel创建、保护和记录RESTful API的过程。
步骤 1:安装 Laravel
在开始之前,请确保您已在本地计算机上安装了Composer,要创建新的Laravel项目,请运行以下命令:
composer create-project laravel/laravel laravel-restful-api
进入项目目录:
cd laravel-restful-api
步骤 2:数据库配置
Laravel 支持多种数据库。方便起见,我在本演示中使用 Sqlite,但您可以选择其他数据库。要配置您的数据库,请转到.env
文件并设置您的数据库凭据。
DB_CONNECTION=sqlite
DB_DATABASE=../database/database.sqlite
SQLite 数据库位于文件系统上的一个文件中。您可以使用终端中的 touch 命令或手动创建新的 SQLite数据库:
touch database/database.sqlite
如果是Windows系统那么执行下面的命令:
echo > database/database.sqlite
步骤 3:创建模型、迁移和控制器
接下来我们要构建一个用于管理博客文章的简单API,首先要为文章创建迁移、模型和控制器。您可能需要另一个控制器AuthController用于身份验证,您也可以在UserController中编写身份验证逻辑。在laravel 11中,通过下面的命令可以快速实现这些工作:
php artisan make:model Post -m -c --api
–api 标志会生成一个不含视图渲染功能的特定于 API 的控制器。
这一行代码将创建以下路由:
GET /api/posts
– 列出所有帖子GET /api/posts/{id}
– 获取特定帖子POST /api/posts
– 创建新帖子PUT /api/posts/{id}
– 更新帖子DELETE /api/posts/{id}
– 删除帖子
还将在 database/migrations 文件夹中创建一个模型 (Post.php) 和一个迁移文件。编辑迁移文件定义 posts 表的架构。
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->string('author');
$table->mediumText('excerpt');
$table->longText('text');
$table->timestamps();
});
在 Post 模型中,添加 fillable 属性:
protected $fillable = ['title', 'author', 'excerpt', 'text'];
现在,运行迁移:
php artisan migrate
步骤 4:定义路由
Laravel 允许您在 routes/api.php 中定义 API 路由。这些路由以 /api 为前缀定义 Post 的路由。
如果您在路由文件夹中没有看到 api.php 文件,您可以通过命令行界面创建它,也可以手动创建它。
我们已将帖子 API 资源添加到 sanctum 中间件,以便我们可以检查和过滤进入您应用的 HTTP 请求。为此,您需要安装 sanctum 包。如果您没有,只需运行此命令即可安装它:
php artisan install:api
接下来,您需要将 api.php 文件的路径添加到 bootstrap 文件夹中的 app.php 文件中。然后,将其映射到 api 名称,如下面的代码所示。
步骤 5:在 AuthController 中实现 API 逻辑
我喜欢根据特定的角色和功能来组织和分离事物,所以我将创建另一个AuthController来处理身份验证逻辑。
php artisan make:controller AuthController
我们还需要向User模型添加HasApiTokensTrait
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, HasFactory, Notifiable;
}
步骤 6:我们向 PostController 添加 index、store 和 show 方法来处理帖子。
为了测试新创建的管理博客文章的API ,我使用了Postman,这是一个用于构建和测试 API 的 API 平台:
要登录,只需使用下面的 URL 并添加您的电子邮件地址和有效密码。
http://localhost:8000/api/login
成功登录后,您将收到如下所示的 json 响应:
{
"0": {
"ok": true,
"user": {
"id": 4,
"name": "Hamza Sehouli",
"email": "sehouli.test@gmail.com",
"email_verified_at": null,
"created_at": "2024-09-07T21:51:50.000000Z",
"updated_at": "2024-09-07T21:51:50.000000Z"
},
"token": "5|8vamsAP4WPkbctrecPnXymRYpkaiQU4AkBW2AwQq3f30e7d4"
},
"status": 200
}
由于我们将帖子的 API 资源添加到api.php路由文件中的sanctum:auth中间件,因此我们需要在标题中包含一个承载令牌来访问帖子数据。
例如,要使用 GET 请求检索所有帖子,我们只需输入以下 URL:
http://localhost:8000/api/posts
获取的数据如下:
{
"ok" : true ,
"posts" : [
{
"id" : 1 ,
"title" : "Python vs PHP" ,
"author" : "Hamza Sehouli" ,
"excerpt" : "Lorem Ipsum 只是印刷和排版行业的虚拟文本。自 1500 年代以来,Lorem Ipsum 一直是该行业的标准虚拟文本,当初某位无名印刷工匠随意取出一些字样,将其杂糅,就成了一个样本册。它不仅在五个世纪中存留下来,也经受了电子排版的考验,基本保持了原样。20 世纪 60 年代,莱特莱特排版系统发布了包含 Lorem Ipsum 段落的版本,Lorem Ipsum 开始流行;最近,Aldus PageMaker 等桌面出版软件也包含各种版本的 Lorem Ipsum。" ,
"text" : "什么是 Lorem Ipsum?\n Lorem Ipsum 只是印刷和排版行业的虚拟文本。自 1500 年代以来,Lorem Ipsum 一直是该行业的标准虚拟文本,当时一位不知名的印刷商从一排排字样中取出一页并将其打乱,制作成一本字样书。它不仅在五个世纪中幸存下来,而且在电子排版中也基本保持不变。它在 20 世纪 60 年代因 Letraset 纸张发布而流行,纸张中包含 Lorem Ipsum 段落,最近,随着 Aldus PageMaker 等桌面出版软件包含 Lorem Ipsum 版本,Lorem Ipsum 开始流行。\n \n我们为什么要使用它?\n一个长期确定的事实是,读者在查看页面布局时会被页面的可读内容分散注意力。使用 Lorem Ipsum 的意义在于它具有或多或少正常的字母分布,而不是使用“www.02405.com”,使其看起来像可读的英语。许多桌面出版软件包和网页编辑器现在都使用 Lorem Ipsum 作为其默认模型文本,搜索“lorem ipsum”会发现许多网站仍处于起步阶段。多年来,各种版本不断演变,有时是偶然,有时是故意(注入幽默等)。\n \n \n它从何而来?\n与普遍看法相反,Lorem Ipsum 并非简单的随机文本。它源于公元前 45 年的一篇古典拉丁文学,距今已有 2000 多年历史。弗吉尼亚州汉普登-悉尼学院的拉丁语教授理查德麦克林托克在 Lorem Ipsum 段落中查找了一个比较晦涩的拉丁词 consectetur,并通过古典文学中对该词的引用,发现了不容置疑的来源。Lorem Ipsum 来自\"的第 1.10.32 和 1.10.33 节西塞罗的《善恶的极致》\" ( de Finibus Bonorum et Malorum ),写于公元前 45 年。这本书是一部关于伦理学的论文,在文艺复兴时期非常流行。Lorem Ipsum 的第一行\" Lorem ipsum dolor sit amet.. \"出自第 1.10.32 节中的一行。\n \n感兴趣的人可从以下链接中获取自 1500 年代以来使用的标准 Lorem Ipsum 片段。西塞罗的《善恶的极致》 \ "中的第 1.10.32 和 1.10.33 节也以原样复制,并附有 1914 年 H. Rackham 翻译的英文版本。\n \n在哪里可以找到一些?\n有许多不同版本的 Lorem Ipsum 可用,但大多数都以某种形式遭到了更改,通过注入幽默或随机单词,这些单词看起来甚至有点不可信。如果您要使用一段 Lorem Ipsum,您需要确保文本中间没有任何令人尴尬的内容。互联网上的所有 Lorem Ipsum 生成器都倾向于根据需要重复预定义的块,这使得它成为互联网上第一个真正的生成器。它使用超过 200 个拉丁词的词典,结合少量模型句子结构,生成看起来合理的 Lorem Ipsum。因此,生成的 Lorem Ipsum 始终不包含重复、注入的幽默或非特征词等。" ,
"created_at" : "2024-09-07T22:41:20.000000Z" ,
"updated_at" : "2024-09-07T22:41:20.000000Z"
},
{
"id" : 2 ,
"title" : "Python vs PHP" ,
"author" : "Hamza Sehouli" ,
"excerpt" : "Lorem Ipsum 只是印刷和排版行业的虚拟文本。自 1500 年代以来,当一个不知名的印刷工拿起一排排字并将其打乱以制作一本字样书时,Lorem Ipsum 一直是该行业的标准虚拟文本。它不仅在五个世纪中存留下来,而且在电子排版中也基本保持不变。它在 20 世纪 60 年代因 Letraset 纸张发布而流行,纸张内容中包含 Lorem Ipsum 段落,最近,Aldus PageMaker 等桌面出版软件也包含 Lorem Ipsum 版本。" ,
"text" : "什么是 Lorem Ipsum?\nLorem Ipsum 只是印刷排版行业的虚拟文本。自 1500 年代以来,Lorem Ipsum 一直是该行业的标准虚拟文本,当时一位不知名的印刷工从字样中取出一页并将其杂糅,制作成一本字样册。它不仅在五个世纪中存留下来,而且在电子排版中也基本保持不变。它在 20 世纪 60 年代因 Letraset 纸张发布而开始流行,纸张内容中包含 Lorem Ipsum 段落,最近,Aldus PageMaker 等桌面出版软件也包含各种版本的 Lorem Ipsum。\n \n我们为什么要使用它?\n一个长期存在的事实是,读者在查看页面布局时会被页面的可读内容所吸引。使用 Lorem Ipsum 的目的是让它的字母分布或多或少呈正态分布,而不是使用“此处内容,此处内容”,使其看起来像可读的英语。现在,许多桌面出版软件和网页编辑器都使用 Lorem Ipsum 作为其默认的范本文本,搜索“lorem ipsum”会发现许多网站仍处于起步阶段。多年来,各种版本不断演变,有时是偶然,有时是故意(注入幽默等)。\n \n \n它从何而来?\n与普遍看法相反,Lorem Ipsum 并非简单的随机文本。它源于公元前 45 年的一段古典拉丁文学,距今已有 2000 多年历史。弗吉尼亚州汉普登-悉尼学院的拉丁语教授理查德·麦克林托克 (Richard McClintock) 在 Lorem Ipsum 段落中查找了一个比较晦涩的拉丁词 consectetur,并通过古典文学中对该词的引用,发现了不容置疑的来源。 Lorem Ipsum 取自西塞罗于公元前 45 年撰写的《善恶极值》第 1.10.32 和 1.10.33 节。这本书是一部伦理学论文,在文艺复兴时期非常流行。Lorem Ipsum 的第一行“ Lorem ipsum dolor sit amet.. ”取自第 1.10.32 节中的一行。\n \n感兴趣的人可从以下链接中获取自 1500 年代以来使用的标准 Lorem Ipsum 片段。西塞罗的《善恶极值》第 1.10.32 和 1.10.33 节也以原样复制,并附有 1914 年 H. Rackham 翻译的英文版本。\n \ n在哪里可以找到一些?\n有许多不同版本的 Lorem Ipsum 可供使用,但大多数都以某种形式遭到了篡改,比如加入了幽默或随机单词,看起来甚至有点不可信。如果您要使用一段 Lorem Ipsum,您需要确保文本中间没有任何令人尴尬的内容。互联网上的所有 Lorem Ipsum 生成器都倾向于根据需要重复预定义的块,这使得它成为互联网上第一个真正的生成器。它使用超过 200 个拉丁词的词典,结合少量模型句子结构,来生成看起来合理的 Lorem Ipsum。因此,生成的 Lorem Ipsum 始终不包含重复、注入的幽默或非特征词等。" ,
"created_at" : "2024-09-08T14:38:15.000000Z" ,
"updated_at" : "2024-09-08T14:38:15.000000Z"
},
{
"id" : 3 ,
"title" : "Python vs PHP" ,
"author" : "Hamza Sehouli" ,
"excerpt" : "Lorem Ipsum 只是印刷和排版行业的虚拟文本。自 1500 年代以来,当一个不知名的印刷工拿起一排排字并将其打乱以制作一本字样书时,Lorem Ipsum 一直是该行业的标准虚拟文本。它不仅在五个世纪中存留下来,也经受了电子排版的考验,基本保持了原样。它在 20 世纪 60 年代因 Letraset 纸张发布而流行,纸张内容中包含 Lorem Ipsum 段落,而最近,类似 Aldus PageMaker 等软件也包含各种版本的 Lorem Ipsum。" ,
"text" : "什么是 Lorem Ipsum?\n Lorem Ipsum 只是印刷和排版行业的虚拟文本。自 1500 年代以来,当某位无名印刷工匠随意取出一些字样,将其杂糅,制作成样本册时,Lorem Ipsum 就一直是该行业的标准虚拟文本。它不仅在五个世纪中存留下来,也经受了电子排版的考验,基本保持了原样。它在 20 世纪 60 年代因 Letraset 纸张发布而流行,纸张内容中包含 Lorem Ipsum 段落,而最近,类似 Aldus PageMaker 等软件也包含各种版本的 Lorem Ipsum。\n \n我们为什么要使用它?\n一个长期存在的事实是,读者在浏览页面布局时会被可读的内容所吸引。使用 Lorem Ipsum 的目的是让它的字母分布大致正常,而不是使用“内容在这里,内容在这里”,使其看起来像可读的英语。许多桌面出版软件包和网页编辑器现在都使用 Lorem Ipsum 作为其默认模型文本,搜索“lorem ipsum”会发现许多网站仍处于起步阶段。多年来,各种版本不断演变,有时是偶然的,有时是故意的(注入幽默等)。\n \n \n它从何而来?\n与普遍的看法相反,Lorem Ipsum 并不是简单的随机文本。它源于公元前 45 年的一篇古典拉丁文学作品,已有 2000 多年的历史。弗吉尼亚州汉普登-悉尼学院的拉丁语教授理查德·麦克林托克 (Richard McClintock) 从 Lorem Ipsum 的一段文字中查找了一个比较晦涩的拉丁语单词 consectetur,并查阅了古典文学中对该词的引用,发现了不容置疑的来源。Lorem Ipsum 出自西塞罗于公元前 45 年撰写的《 de Finibus Bonorum et Malorum 》(《善恶的极值》)第 1.10.32 和 1.10.33 节。这本书是一部关于伦理学理论的论文,在文艺复兴时期非常流行。Lorem Ipsum 的第一行“ Lorem ipsum dolor sit amet.. ”来自第 1.10.32 节中的一行。\n \n感兴趣的人可从下面复制自 1500 年代以来使用的标准 Lorem Ipsum 片段。西塞罗的《善恶的终结》中的 1.10.32 和 1.10.33 节也以原样复制,并附有 1914 年 H. Rackham 翻译的英文版本。\n \n在哪里可以找到一些?\n有许多不同版本的 Lorem Ipsum 段落可用,但大多数都以某种形式遭到了修改,注入了幽默或随机单词,看起来甚至有点不可信。如果您要使用一段 Lorem Ipsum,您需要确保文本中间没有任何令人尴尬的内容。互联网上的所有 Lorem Ipsum 生成器都倾向于根据需要重复预定义的块,这使得它成为互联网上第一个真正的生成器。它使用超过 200 个拉丁词的词典,结合少量模型句子结构,来生成看起来合理的 Lorem Ipsum。因此,生成的 Lorem Ipsum 始终不包含重复、注入的幽默或非特征词等。" ,
"created_at" : "2024-09-08T14:38:30.000000Z" ,
“更新时间”:“2024-09-08T14:38:30.000000Z”
},
{
“id”:4,
“title”:“Python vs PHP”,
“author”:“Hamza Sehouli”,
“excerpt”:“Lorem Ipsum 只是印刷和排版行业的虚拟文本。自 1500 年代以来,Lorem Ipsum 一直是该行业的标准虚拟文本,当时一位不知名的印刷商从打字样板中取出一页并将其打乱以制作一本字样书。它不仅在五个世纪中幸存下来,而且在电子排版中也基本保持不变。它在 1960 年代因 Letraset 纸张发布而流行,纸张内容中包含 Lorem Ipsum 段落,最近,Aldus PageMaker 等桌面出版软件也包含各种版本的 Lorem Ipsum。” ,
"text" : "什么是 Lorem Ipsum?\n Lorem Ipsum 只是印刷和排版行业的虚拟文本。自 1500 年代以来,Lorem Ipsum 一直是该行业的标准虚拟文本,当时一位不知名的印刷商从一排排字样中取出一页并将其打乱,制作成一本字样书。它不仅在五个世纪中幸存下来,而且在电子排版中也基本保持不变。它在 20 世纪 60 年代因 Letraset 纸张发布而流行,纸张中包含 Lorem Ipsum 段落,最近,随着 Aldus PageMaker 等桌面出版软件包含 Lorem Ipsum 版本,Lorem Ipsum 开始流行。\n \n我们为什么要使用它?\n一个长期确定的事实是,读者在查看页面布局时会被页面的可读内容分散注意力。使用 Lorem Ipsum 的意义在于它具有或多或少正常的字母分布,而不是使用“此处内容,此处内容”,使其看起来像可读的英语。许多桌面出版软件包和网页编辑器现在都使用 Lorem Ipsum 作为其默认模型文本,搜索“lorem ipsum”会发现许多网站仍处于起步阶段。多年来,各种版本不断演变,有时是偶然,有时是故意(注入幽默等)。\n \n \n它从何而来?\n与普遍看法相反,Lorem Ipsum 并非简单的随机文本。它源于公元前 45 年的一篇古典拉丁文学,距今已有 2000 多年历史。弗吉尼亚州汉普登-悉尼学院的拉丁语教授理查德麦克林托克从 Lorem Ipsum 段落中查找了一个比较晦涩的拉丁词 consectetur,并通过古典文学中对该词的引用,发现了毋庸置疑的来源。Lorem Ipsum 来自第 1.10.32 和 1.10 节。33 《 de Finibus Bonorum et Malorum 》(《善恶的极致》)作者西塞罗,写于公元前 45 年。这本书是一篇关于伦理学理论的论文,在文艺复兴时期非常流行。Lorem Ipsum 的第一行“ Lorem ipsum dolor sit amet.. ”来自第 1.10.32 节中的一行。\n \n感兴趣的人可从下面复制自 1500 年代以来使用的标准 Lorem Ipsum 片段。西塞罗的“ de Finibus Bonorum et Malorum ”中的第 1.10.32 和 1.10.33 节也以原样复制,并附有 1914 年 H. Rackham 翻译的英文版本。\n \n在哪里可以买到?\n有许多不同版本的 Lorem Ipsum 可供使用,但大多数都以某种形式遭到了篡改,比如加入了幽默或随机单词,看起来甚至有点不可信。如果您要使用一段 Lorem Ipsum,您需要确保文本中间没有任何令人尴尬的内容。互联网上的所有 Lorem Ipsum 生成器都倾向于根据需要重复预定义的块,这使得它成为互联网上第一个真正的生成器。它使用超过 200 个拉丁词的词典,结合少量模型句子结构,来生成看起来合理的 Lorem Ipsum。因此,生成的 Lorem Ipsum 始终不包含重复、注入的幽默或非特征词等。" ,
"created_at" : "2024-09-08T14:38:46.000000Z" ,
"updated_at" : "2024-09-08T14:38:46.000000Z"
},
{
"id" : 5 ,
"title" : "Python vs PHP" ,
"author" : "Hamza Sehouli" ,
"excerpt" : "Lorem Ipsum 只是印刷和排版行业的虚拟文本。自 1500 年代以来,当一个不知名的印刷工拿起一排排字并将其打乱以制作一本字样书时,Lorem Ipsum 一直是该行业的标准虚拟文本。它不仅在五个世纪中存留下来,而且在电子排版中也基本保持不变。它在 20 世纪 60 年代因 Letraset 纸张发布而流行,纸张内容中包含 Lorem Ipsum 段落,最近,Aldus PageMaker 等桌面出版软件也包含 Lorem Ipsum 版本。" ,
"text" : "什么是 Lorem Ipsum?\nLorem Ipsum 只是印刷排版行业的虚拟文本。自 1500 年代以来,Lorem Ipsum 一直是该行业的标准虚拟文本,当时一位不知名的印刷工从字样中取出一页并将其杂糅,制作成一本字样册。它不仅在五个世纪中存留下来,而且在电子排版中也基本保持不变。它在 20 世纪 60 年代因 Letraset 纸张发布而开始流行,纸张内容中包含 Lorem Ipsum 段落,最近,Aldus PageMaker 等桌面出版软件也包含各种版本的 Lorem Ipsum。\n \n我们为什么要使用它?\n一个长期存在的事实是,读者在查看页面布局时会被页面的可读内容所吸引。使用 Lorem Ipsum 的目的是让它的字母分布或多或少呈正态分布,而不是使用“此处内容,此处内容”,使其看起来像可读的英语。现在,许多桌面出版软件和网页编辑器都使用 Lorem Ipsum 作为其默认的范本文本,搜索“lorem ipsum”会发现许多网站仍处于起步阶段。多年来,各种版本不断演变,有时是偶然,有时是故意(注入幽默等)。\n \n \n它从何而来?\n与普遍看法相反,Lorem Ipsum 并非简单的随机文本。它源于公元前 45 年的一段古典拉丁文学,距今已有 2000 多年历史。弗吉尼亚州汉普登-悉尼学院的拉丁语教授理查德·麦克林托克 (Richard McClintock) 在 Lorem Ipsum 段落中查找了一个比较晦涩的拉丁词 consectetur,并通过古典文学中对该词的引用,发现了不容置疑的来源。 Lorem Ipsum 取自西塞罗于公元前 45 年撰写的《善恶极值》第 1.10.32 和 1.10.33 节。这本书是一部伦理学论文,在文艺复兴时期非常流行。Lorem Ipsum 的第一行“ Lorem ipsum dolor sit amet.. ”取自第 1.10.32 节中的一行。\n \n感兴趣的人可从以下链接中获取自 1500 年代以来使用的标准 Lorem Ipsum 片段。西塞罗的《善恶极值》第 1.10.32 和 1.10.33 节也以原样复制,并附有 1914 年 H. Rackham 翻译的英文版本。\n \ n在哪里可以找到一些?\n有许多不同版本的 Lorem Ipsum 段落可供使用,但大多数都以某种形式遭到了篡改,比如注入了幽默或随机单词,看起来甚至有点不可信。如果您要使用一段 Lorem Ipsum,您需要确保文本中间没有任何令人尴尬的内容。互联网上的所有 Lorem Ipsum 生成器都倾向于根据需要重复预定义的块,这使得它成为互联网上第一个真正的生成器。它使用超过 200 个拉丁词的词典,结合少量模型句子结构,来生成看起来合理的 Lorem Ipsum。因此,生成的 Lorem Ipsum 始终不包含重复、注入的幽默或非特征词等。" ,
"created_at" : "2024-09-08T14:39:13.000000Z" ,
"updated_at" : "2024-09-08T14:39:13.000000Z"
},
{
"id" : 6 ,
"title" : "Python vs PHP" ,
"author" : "Hamza Sehouli" ,
"excerpt" : "Lorem Ipsum 只是印刷和排版行业的虚拟文本。自 1500 年代以来,当一个不知名的印刷工拿起一排排字并将其打乱以制作一本字样书时,Lorem Ipsum 一直是该行业的标准虚拟文本。它不仅在五个世纪中存留下来,也经受了电子排版的考验,基本保持了原样。它在 20 世纪 60 年代因 Letraset 纸张发布而流行,纸张内容中包含 Lorem Ipsum 段落,而最近,类似 Aldus PageMaker 等软件也包含各种版本的 Lorem Ipsum。" ,
"text" : "什么是 Lorem Ipsum?\n Lorem Ipsum 只是印刷和排版行业的虚拟文本。自 1500 年代以来,当某位无名印刷工匠随意取出一些字样,将其杂糅,制作成样本册时,Lorem Ipsum 就一直是该行业的标准虚拟文本。它不仅在五个世纪中存留下来,也经受了电子排版的考验,基本保持了原样。它在 20 世纪 60 年代因 Letraset 纸张发布而流行,纸张内容中包含 Lorem Ipsum 段落,而最近,类似 Aldus PageMaker 等软件也包含各种版本的 Lorem Ipsum。\n \n我们为什么要使用它?\n一个长期存在的事实是,读者在浏览页面布局时会被可读的内容所吸引。使用 Lorem Ipsum 的目的是让它的字母分布大致正常,而不是使用“内容在这里,内容在这里”,使其看起来像可读的英语。许多桌面出版软件包和网页编辑器现在都使用 Lorem Ipsum 作为其默认模型文本,搜索“lorem ipsum”会发现许多网站仍处于起步阶段。多年来,各种版本不断演变,有时是偶然的,有时是故意的(注入幽默等)。\n \n \n它从何而来?\n与普遍的看法相反,Lorem Ipsum 并不是简单的随机文本。它源于公元前 45 年的一篇古典拉丁文学作品,已有 2000 多年的历史。弗吉尼亚州汉普登-悉尼学院的拉丁语教授理查德·麦克林托克 (Richard McClintock) 从 Lorem Ipsum 的一段文字中查找了一个比较晦涩的拉丁语单词 consectetur,并查阅了古典文学中对该词的引用,发现了不容置疑的来源。Lorem Ipsum 出自西塞罗于公元前 45 年撰写的《 de Finibus Bonorum et Malorum 》(《善恶的极值》)第 1.10.32 和 1.10.33 节。这本书是一部关于伦理学理论的论文,在文艺复兴时期非常流行。Lorem Ipsum 的第一行“ Lorem ipsum dolor sit amet.. ”来自第 1.10.32 节中的一行。\n \n感兴趣的人可从下面复制自 1500 年代以来使用的标准 Lorem Ipsum 片段。西塞罗的《善恶的终结》中的 1.10.32 和 1.10.33 节也以原样复制,并附有 1914 年 H. Rackham 翻译的英文版本。\n \n在哪里可以找到一些?\n有许多不同版本的 Lorem Ipsum 段落可用,但大多数都以某种形式遭到了修改,注入了幽默或随机单词,看起来甚至有点不可信。如果您要使用一段 Lorem Ipsum,您需要确保文本中间没有任何令人尴尬的内容。互联网上的所有 Lorem Ipsum 生成器都倾向于根据需要重复预定义的块,这使得它成为互联网上第一个真正的生成器。它使用超过 200 个拉丁词的词典,结合少量模型句子结构,来生成看起来合理的 Lorem Ipsum。因此,生成的 Lorem Ipsum 始终不包含重复、注入的幽默或非特征词等。" ,
"created_at" : "2024-09-08T14:39:42.000000Z" ,
“更新时间”:“2024-09-08T14:39:42.000000Z”
},
{
“id”:7,
“title”:“Python vs PHP”,
“author”:“Hamza Sehouli”,
“excerpt”:“Lorem Ipsum 只是印刷和排版行业的虚拟文本。自 1500 年代以来,Lorem Ipsum 一直是该行业的标准虚拟文本,当时一位不知名的印刷商从打字样板中取出一页并将其打乱以制作一本字样书。它不仅在五个世纪中幸存下来,而且在电子排版中也基本保持不变。它在 1960 年代因 Letraset 纸张发布而流行,纸张中包含 Lorem Ipsum 段落,最近,Aldus PageMaker 等桌面出版软件也包含各种版本的 Lorem Ipsum。” ,
"text" : "什么是 Lorem Ipsum?\n Lorem Ipsum 只是印刷和排版行业的虚拟文本。自 1500 年代以来,Lorem Ipsum 一直是该行业的标准虚拟文本,当时一位不知名的印刷商从一排排字样中取出一页并将其打乱,制作成一本字样书。它不仅在五个世纪中幸存下来,而且在电子排版中也基本保持不变。它在 20 世纪 60 年代因 Letraset 纸张发布而流行,纸张中包含 Lorem Ipsum 段落,最近,随着 Aldus PageMaker 等桌面出版软件包含 Lorem Ipsum 版本,Lorem Ipsum 开始流行。\n \n我们为什么要使用它?\n一个长期确定的事实是,读者在查看页面布局时会被页面的可读内容分散注意力。使用 Lorem Ipsum 的意义在于它具有或多或少正常的字母分布,而不是使用“此处内容,此处内容”,使其看起来像可读的英语。许多桌面出版软件包和网页编辑器现在都使用 Lorem Ipsum 作为其默认模型文本,搜索“lorem ipsum”会发现许多网站仍处于起步阶段。多年来,各种版本不断演变,有时是偶然,有时是故意(注入幽默等)。\n \n \n它从何而来?\n与普遍看法相反,Lorem Ipsum 并非简单的随机文本。它源于公元前 45 年的一篇古典拉丁文学,距今已有 2000 多年历史。弗吉尼亚州汉普登-悉尼学院的拉丁语教授理查德麦克林托克从 Lorem Ipsum 段落中查找了一个比较晦涩的拉丁词 consectetur,并通过古典文学中对该词的引用,发现了毋庸置疑的来源。Lorem Ipsum 来自第 1.10.32 和 1.10 节。33 《 de Finibus Bonorum et Malorum 》(《善恶的极致》)作者西塞罗,写于公元前 45 年。这本书是一篇关于伦理学理论的论文,在文艺复兴时期非常流行。Lorem Ipsum 的第一行“ Lorem ipsum dolor sit amet.. ”来自第 1.10.32 节中的一行。\n \n感兴趣的人可从下面复制自 1500 年代以来使用的标准 Lorem Ipsum 块。西塞罗的“ de Finibus Bonorum et Malorum ”中的第 1.10.32 和 1.10.33 节也以原样复制,并附有 1914 年 H. Rackham 翻译的英文版本。\n \n在哪里可以买到一些?\n有许多不同版本的 Lorem Ipsum 可供使用,但大多数都以某种形式遭到了篡改,比如加入了幽默或随机单词,看起来甚至有点不可信。如果您要使用一段 Lorem Ipsum,您需要确保文本中间没有任何令人尴尬的内容。互联网上的所有 Lorem Ipsum 生成器都倾向于根据需要重复预定义的块,这使得它成为互联网上第一个真正的生成器。它使用超过 200 个拉丁词的词典,结合少量模型句子结构,来生成看起来合理的 Lorem Ipsum。因此,生成的 Lorem Ipsum 始终不包含重复、注入的幽默或非特征词等。" ,
"created_at" : "2024-09-08T14:40:05.000000Z" ,
"updated_at" : "2024-09-08T14:40:05.000000Z"
}
]
}
结论
Laravel 借助内置系统和 Sanctum 等工具轻松处理身份验证。即使您手动构建身份验证,Laravel 的 Auth 外观和中间件也会为您提供强大的工具来简化登录和注册流程。