原文:Kinsta Blog
掌握拉勒维尔路线
到了后端,开发者最终遇到的是路由。路由可以被认为是后端的主干,因为服务器接收到的每个请求都通过将请求映射到控制器或动作的路由列表被重定向到控制器。
Laravel 为我们隐藏了许多实现细节,并附带了许多语法糖来帮助新的和有经验的开发者开发他们的 web 应用程序。
让我们仔细看看如何管理 Laravel 的路线。
Laravel 中的后端路由和跨站点脚本
在服务器上,同时存在公共路由和私有路由。由于跨站点脚本(XSS)的可能性,公共路由可能是一个令人担忧的原因,这是一种类型的注入攻击,可能会使您和您的用户容易受到恶意参与者的攻击。
问题是,用户可以从不需要会话令牌的路由重定向到需要会话令牌的路由,但他们仍然可以在没有令牌的情况下访问。
Dive into the ‘backbone of the backend’ in this guide to Lavavel Routing 🚀Click to Tweet
解决这个问题的最简单的方法是实施一个新的 HTTP 报头,在路由中添加“referrer”来缓解这种情况:
'main' => [
'path' => '/main',
'referrer' => 'required,refresh-empty',
'target' => Controller\DashboardController::class . '::mainAction'
]
Laravel 基本路由
在 Laravel 中,路由允许用户将适当的请求路由到所需的控制器。最基本的 Laravel 路由接受一个统一的资产标识符(您的路由路径)和一个闭包,这个闭包可以是函数也可以是类。
在 Laravel 中,路径是在web.php和api.php文件中创建的。默认情况下,Laravel 有两条路径:一条用于 WEB,一条用于 API。
这些路由位于 routes/ 文件夹中,但是它们被加载到Providers/routeserviceprovider . PHP中。
Default state of Laravel’s route service provider.
代替这样做,我们可以直接在RouteServiceProvider.php中加载路线,完全跳过路线/ 文件夹。
Loading Laravel routes directly in the provider.
重新寄送
当我们定义一个路由时,我们通常希望重定向访问它的用户,这样做的原因有很多。可能是因为这是一个不推荐使用的路线,我们改变了后端或服务器,也可能是因为我们想安装双因素身份验证(2FA) 等等。
Laravel 有一个简单的方法来做到这一点。由于框架的简单性,我们可以在 Route facade 上使用 redirect 方法,它接受入口路由和要重定向到的路由。
可选地,我们可以给出重定向的状态代码作为第三个参数。除了总是返回一个 301 状态码之外,permanentRedirect
方法与redirect
方法做的一样:
// Simple redirect
Route::redirect("/class", "/myClass");
// Redirect with custom status
Route::redirect("/home", "/office", 305);
// Route redirect with 301 status code
Route::permanentRedirect("/home", "office");
在重定向路由中,我们被禁止使用“目的地”和“状态”关键字作为参数,因为它们是 Laravel 保留的。
// Illegal to use
Route::redirect("/home", "/office/{status}");
视图
视图是。blade.php我们用来渲染 Laravel 应用程序前端的文件。它使用刀片模板引擎,并且是仅使用 Laravel 构建全栈应用程序的默认方式。
如果我们希望我们的路由返回一个视图,我们可以简单地在路由外观上使用 view 方法。它接受要传递给视图的路由参数、视图名称和可选的值数组。
// When the user accesses my-domain.com/homepage
// the homepage.blade.php file will be rendered
Route::view("/homepage", "homepage");
让我们假设我们的视图想要通过传递一个带有该参数的可选数组来说“Hello,{name}
”。我们可以用下面的代码做到这一点(如果视图中需要缺少的参数,请求将失败并抛出一个错误):
Route::view('/homepage', 'homepage', ['name' => "Kinsta"]);
路线列表
随着应用程序规模的增长,需要路由的请求数量也会增加。大量的信息会带来巨大的混乱。
这就是artisan route:list command
可以帮助我们的地方。它概述了应用程序中定义的所有路由、它们的中间件和控制器。
php artisan route:list
它将显示一个没有中间件的所有路线的列表。为此,我们必须使用-v
标志:
`php artisan route:list -v`
在您可能使用域驱动设计的情况下,您的路由在其路径中具有特定的名称,您可以像这样利用此命令的过滤功能:
php artisan route:list –path=api/account
这将只显示以 api/account 开始的路线。
另一方面,我们可以通过使用–except-vendor
或–only-vendor
选项来指示 Laravel 排除或包含第三方定义的路由。
路线参数
有时,您可能需要捕捉 URI 的路段,如用户 ID 或令牌。我们可以通过定义一个路由参数来做到这一点,这个参数总是用花括号({}
)括起来,并且应该只包含字母字符。
如果我们的路由在它们的回调中有依赖关系,Laravel 服务容器会自动注入它们:
use Illuminate\Http\Request;
use Controllers/DashboardController;
Route::post('/dashboard/{id}, function (Request $request, string $id) {
return 'User:' . $id;
}
Route::get('/dashboard/{id}, DashboardController.php);
必需的参数
Laravel 的必需参数是在我们打电话时不允许跳过的路由中的参数。否则,将会引发一个错误:
Route::post("/gdpr/{userId}", GetGdprDataController.php");
现在,在GetGdprDataController.php中,我们将可以直接访问 $userId 参数。
注册订阅时事通讯
想知道我们是怎么让流量增长超过 1000%的吗?
加入 20,000 多名获得我们每周时事通讯和内部消息的人的行列吧!
public function __invoke(int $userId) {
// Use the userId that we received…
}
路由可以接受任意数量的参数。它们根据列出的顺序被注入到路由回调/控制器中:
// api.php
Route::post('/gdpr/{userId}/{userName}/{userAge}', GetGdprDataController.php);
// GetGdprDataController.php
public function __invoke(int $userId, string $userName, int $userAge) {
// Use the parameters…
}
可选参数
如果我们想在一条路线上做一些事情,而这条路线上只有一个参数,而没有其他任何东西,并且不影响整个应用程序,我们可以添加一个可选的参数。这些可选参数由附加在它们后面的?
表示:
Route::get('/user/{age?}', function (int $age = null) {
if (!$age) Log::info("User doesn't have age set");
else Log::info("User's age is " . $age);
}
Route::get('/user/{name?}', function (int $name = "John Doe") {
Log::info("User's name is " . $name);
}
路由通配符
Laravel 为我们提供了一种过滤可选或必需参数的方法。
假设我们需要一个用户 ID 字符串。我们可以使用where
方法在路由级别验证它。
where
方法接受参数名和将应用于验证的正则表达式规则。默认情况下,它接受第一个参数,但是如果我们有很多参数,我们可以传递一个数组,将参数的名称作为键,将规则作为值,Laravel 将为我们解析所有参数:
Route::get('/user/{age}', function (int $age) {
//
}->where('age', '[0-9]+');
Route::get('/user/{age}', function (int $age) {
//
}->where('[0-9]+');
Route::get('/user/{age}/{name}', function (int $age, string $name) {
//
}->where(['age' => '[0-9]+', 'name' => '[a-z][A-z]+');
我们可以更进一步,通过在Route
外观上使用pattern
方法,在应用程序中的所有路线上应用验证:
Route::pattern('id', '[0-9]+');
这将用这个正则表达式验证每个id
参数。一旦我们定义了它,它将自动应用于使用该参数名称的所有路由。
正如我们所看到的,Laravel 在路径中使用了/
字符作为分隔符。如果我们想在路径中使用它,我们必须使用一个where
正则表达式显式地允许它成为占位符的一部分。
Route::get('/find/{query}', function ($query) {
//
})->where('query', , '.*');
唯一的缺点是它只在最后一个路由段受支持。
Struggling with downtime and WordPress problems? Kinsta is the hosting solution designed to save you time! Check out our features
命名路线
顾名思义,我们可以命名路由,这使得生成 URL或重定向特定路由变得非常方便。
如何创建命名路由
链接在Route
外观上的name
方法提供了一种创建命名路由的简单方法。每条路线的名称应该是唯一的:
Route::get('/', function () {
})->name("homepage");
路由组
路由组允许您跨大量路由共享路由属性,如中间件,而无需在每条路由上重新定义它。
中间件
首先通过使用group
方法,为我们拥有的所有路由分配一个中间件允许我们将它们组合在一个组中。需要考虑的一点是,中间件是按照它们应用于组的顺序执行的:
Route:middleware(['AuthMiddleware', 'SessionMiddleware'])->group(function () {
Route::get('/', function() {} );
Route::post('/upload-picture', function () {} );
});
控制器
当一个组使用同一个控制器时,我们可以使用controller
方法为该组内的所有路径定义公共控制器。现在我们必须指定路由将调用的方法。
Route::controller(UserController::class)->group(function () {
Route::get('/orders/{userId}', 'getOrders');
Route::post('/order/{id}', 'postOrder');
});
子域路由
子域名是添加到网站域名开头的一段附加信息。这允许网站从网站的其余部分分离和组织其内容以实现特定功能,如在线商店、博客、演示等。
我们的路由可用于处理子域路由。我们可以捕获域和子域的一部分,以便在我们的控制器和路由中使用。借助于Route
facade 上的domain
方法,我们可以将我们的路由分组到一个域中:
Route::domain('{store}.enterprise.com')->group(function() {
Route::get('order/{id}', function (Account $account, string $id) {
// Your Code
}
});
前缀和姓名前缀
每当我们有一组路由时,我们可以利用 Laravel 提供的额外实用程序,比如Route
门面上的prefix
和name
,而不是逐个修改它们。
prefix
方法可用于给组中的每条路由添加给定 URI 的前缀,而name
方法可用于给每条路由添加给定字符串的前缀。
这允许我们创建新的东西,如管理路由,而不需要修改每个名称或前缀来识别它们:
Route::name('admin.")->group(function() {
Route::prefix("admin")->group(function() {
Route::get('/get')->name('get');
Route::put('/put')->name(put');
Route::post('/post')->name('post');
});
});
现在这些航线的 URIs 将会是admin/get
、admin/put
、admin/post
,名字为admin.get
、admin.put
、admin.post
。
路由缓存
当将应用程序部署到生产服务器时,一个优秀的 Laravel 开发者会利用 Laravel 的路由缓存。
什么是路由缓存?
路由缓存减少了注册所有应用程序路由所需的时间。
运行php artisan route:cache
生成Illuminate/Routing/RouteCollection
的一个实例,经过编码后,序列化的输出被写入bootstrap/cache.routes.php
。
现在任何其他请求将加载这个缓存文件,如果它存在的话。因此,我们的应用程序不再需要解析 route 文件中的条目并将其转换成Illuminate/Routing/RouteCollection
中的Illuminate/Routing/Route
对象。
为什么使用路径缓存很重要
如果不使用 Laravel 提供的路线缓存功能,你的应用程序可能会运行得更慢,这反过来会降低销售额、用户保留率和对你品牌的信任度。
根据你项目的规模和路线的数量,运行一个简单的路线缓存命令可以使你的应用程序加速 130%到 500%——几乎不费吹灰之力就能获得巨大的收益。
摘要
路由是后端开发的支柱。Laravel 框架在这方面表现出色,它提供了一种详细的定义和管理路由的方式。 【得心应手】在此彻底指导🛠 点击推文
开发确实可以为每个人所用,并帮助加速一个应用程序,仅仅因为它是在 Laravel 中构建的。
关于 Laravel 路线,你还遇到过哪些技巧和提示?请在评论区告诉我们!
让你所有的应用程序、数据库和 WordPress 网站在线并在一个屋檐下。我们功能丰富的高性能云平台包括:
- 在 MyKinsta 仪表盘中轻松设置和管理
- 24/7 专家支持
- 最好的谷歌云平台硬件和网络,由 Kubernetes 提供最大的可扩展性
- 面向速度和安全性的企业级 Cloudflare 集成
- 全球受众覆盖全球多达 35 个数据中心和 275 多个 pop
在第一个月使用托管的应用程序或托管的数据库,您可以享受 20 美元的优惠,亲自测试一下。探索我们的计划或与销售人员交谈以找到最适合您的方式。
20 篇最佳 Laravel 教程(2022 年免费和付费资源)
Laravel 多年来一直是 PHP 应用程序开发的明星,这是有充分理由的。庞大的生态系统、活跃的社区、强劲的就业市场、成功的初创公司——它拥有一切让采用新技术变得值得的东西。
如果你想学 Laravel,你不必走得更远。通过浏览本指南,您可以找到最适合您的 Laravel 教程,与您的知识水平和学习风格相匹配。
准备好了吗?我们来深入挖掘一下!
为什么要学 Laravel
你想学习 Laravel 的原因有很多,所以我们从其中最重要的开始。另外,在详细研究最好的 Laravel 教程之前,我们还将浏览一些关于如何有效学习框架的技巧,包括每个教程的优点、缺点和用例。
1.迅速发展
Laravel 是一个用于 web 应用开发的开源 PHP 框架,基于 MVC(模型-视图-控制器)架构模式。其富于表现力和简单明了的语法加快了开发速度,并产生了干净、可维护的代码库和可伸缩的应用程序。
2.高人气
Laravel 的源代码存放在 GitHub 上,这是最受欢迎的PHP 库,拥有超过 60,000 颗星星,并且还在增加。网上还有许多 Laravel 教程、视频、截屏和资源,可以帮助您学习框架并跟上新的发展。
3.巨大的生态系统
由于其受欢迎程度,Laravel 拥有一个庞大的官方和第三方软件包生态系统,您可以将其添加到自己的应用程序中。官方软件包包括服务器管理工具和平台、开发者环境、监控和测试工具、管理面板等等(见 Laravel 主页的“生态系统”菜单下)。
如果你想添加尚不存在的功能,你也可以开发自己的 Laravel 包。
4.活跃社区
在 Laravel 周围有一个巨大的社区,你可以在 Laravel.io 、 Laracasts 讨论、 LaraChat 、 Discord 、 Reddit 和其他很酷的地方找到。Laravel 还有一个名为 Laracon 的官方会议,每年在三大洲举行(美洲、欧洲、澳大利亚)。
5.强劲的就业市场
Laravel 开发是一项非常受欢迎的技能,工作前景非常好。它有一个名为 Larajobs 的官方职位板,其中最常见的职位是“Laravel 开发人员”、“后端 Laravel 开发人员”、“T2”全栈 PHP 开发人员(Laravel 在前端经常与 Vue.js 成对出现),以及“高栈开发人员”(高栈代表 Tailwind CSS 、 Alpine.js 、Laravel 和 Livewire )。
除了 Larajobs,你可以在 Monster,Indeed 和 LinkedIn 等其他求职网站上找到大量的 Laravel 工作,在 RemoteOK 、We Work remote等地方也有远程 Laravel 工作。
6.充满希望的商机
如果你不想为别人工作,而是建立自己的事业,Laravel 也可以成为你的绝佳解决方案。已经有许多成功的企业建立在 Laravel 之上,比如 OctoberCMS 、 Mailcoach 、 Monica CRM 、 Invoice Ninja 和 CodeCourse (参见本文下面的付费 Laravel 教程),仅举几例。
以 Laravel 为基础,使用最佳实践和高性能 PHP 托管,你的应用将毫无问题地在生产中扩展。
如何学习 Laravel
要开始学习 Laravel 开发,您需要一些已有的知识。
先验知识
你需要安全地使用 PHP,尤其是面向对象的 PHP。知道如何使用命令行和编辑器包管理器也很重要——这两个主题通常在初级 PHP 教程中有所涉及。
一些关于 HTML 和关系数据库管理系统的知识(Laravel 支持其中的四种: MySQL ,PostgreSQL,SQLite 和 SQL Server )也可以帮助轻松入门。
学习材料
学习像 Laravel 这样的 PHP 框架与学习像 PHP 这样的编程语言有些不同。在这里,您将从一开始就做更多的实践项目和更少(或零)的编程练习,因为这是大多数 Laravel 教程的结构。
构建真实世界的应用程序也意味着你会经常使用 Laravel 作为堆栈的一部分。例如,许多 Laravel 教程将它与 Vue 前端一起使用,这意味着您还需要学习 Vue.js(通常也包含在同一教程中)来完成项目。
也很难找到完全初学者的教程,大多数教程都是视频格式的。几乎没有关于 Laravel 的书,主要是因为变化如此之快,以至于当一本书出版时,框架已经领先两个版本了。
Laravel 版本
挑选 Laravel 教程时,最重要的事情之一是关注它所涵盖的 Laravel 版本。您需要熟悉以下 Laravel 版本控制规则:
- 从版本 6 开始,Laravel 及其官方包遵循语义版本化 (
major.minor.patch
),例如 8。*是一个主要版本。 - 在 Laravel 6 之前,框架使用了
paradigm.major.minor
约定,例如 5.8。*也是一个主要版本。 - 每六个月(二月和八月)有一个主要的发布。
- 并且,每两年有一个 LTS(长期支持)版本。
- 对于一般版本,错误修复提供 6 个月,安全版本提供 1 年。
- 对于 LTS 版本,错误修复提供 2 年,安全版本提供 3 年。
- 因此,Laravel 随后的主要版本编号为 5.5。* (LTS),5.6。, 5.7., 5.8., 6. (LTS),7。, 8.
- 也有小版本和补丁,但它们不包含任何突破性的变化。
由于每年有两个主要版本,教程很难跟上。大多数 Laravel 教程,你会发现在任何给定的日期将 1-3 个版本相比,实际发布。这不是一个大问题,除非该框架经历了一次完全重写,上次发生是在 2013 年 Laravel 4 发布时。
即使建议使用最新的教程,如果您不得不回到两三个版本,也不要惊慌,特别是如果它是一篇展示如何构建您想要学习的应用程序的实用文章。
你可能会发现不同版本之间的一些不一致,但这些通常会被作者或其他学习者在讨论部分记录下来。浏览每个新版本的发行说明也是一个好主意,看看有什么变化,因为它可以帮助你知道需要注意什么。
学习预算
学习 Laravel 一点也不贵——你甚至可以免费学习。本指南包括免费和付费的 Laravel 教程,但即使是付费的也不是很贵;你可以以每月 15-30 美元的价格订阅一个高级教程网站。
即使你不想在学习 Laravel 上花任何钱,浏览付费部分也是值得的,因为一些优质教程网站提供免费试用,偶尔提供免费视频课程和其他免费服务。
信息
Kinsta 允许您为您的产品运行 Laravel,尽管我们的团队没有正式支持它。
6 个最好的免费 Laravel 教程网站
现在,让我们仔细看看最好的 Laravel 教程!
1.官方 Laravel 文档(初级、中级、高级)
Official Laravel Docs
官方的 Laravel 文档是对 Laravel 框架的实际描述,由 Laravel 社区维护,在 GitHub 上也有。它从安装指南开始,提供了所有 Laravel 概念的概述,比如模板、安全性、数据库管理等等。你也可以在这里找到官方的 Laravel 包的文档。
优点:
- 最新的 Laravel 资源
- 信息结构良好,易于搜索
- 老版本的文档也是可用的
- 包括代码示例和最佳实践提示
- 你可以在 GitHub 上提交错误报告
缺点:
- 干巴巴、教科书般的语气和设计
何时选择 Laravel 文档
Laravel 的官方文档对任何知识水平的人来说都是有用的,可以用来检查任何与 Laravel 相关的概念的细节。然而,由于其高信息密度,对于初学者来说,它可能会令人不知所措。
这是熟悉新版本的特性或比较不同版本的最佳地方。
2.拉勒维尔新闻(初级、中级、高级)
Laravel News
Laravel News 是一个包罗万象的 Laravel 教程网站。它有一个以最新的 Laravel 新闻为特色的博客,一个涵盖从初学者到专家级别主题的 Laravel 教程部分,一个两周一次的 Laravel 播客,以及一个每周日早上发送的 Laravel 时事通讯。Laravel News 还展示了流行的 Laravel 包,并附有简要描述和示例代码。
优点:
- 定期更新
- 以不同的方式传递内容(博客、播客、时事通讯等)
- 最佳实践片段
- 关于构建真实世界 Laravel 应用程序/任务/工具的免费教程
- 有用的截图和代码片段
缺点:
- 有些帖子是赞助商的帖子(尽管有明确说明)
- 难以导航(同一教程系列的连续部分没有相互链接)
何时选择 Laravel 新闻
Laravel News 是 Laravel 相关新闻的最佳免费来源。这些教程质量很高,涵盖了许多有趣的东西——但即使你对它们不感兴趣,也值得订阅时事通讯,以了解最新的 Laravel 框架(每个版本也包括一些 Laravel 工作列表)。每两周一次的 Laravel 新闻播客对于任何水平的 Laravel 开发者来说都是一个极好的资源。
3.Tuts Make(中级、高级)
Tuts Make
Tuts Make 是一个流行的教程博客,涵盖了 T2 不同的编程语言和技术,包括 Laravel。这些教程简明扼要,讨论了常见的 Laravel 任务、错误和用例。它们包括多个代码片段,您也可以在自己的项目中使用。
TutsMake 也有一个单独的类别用于面试问答,有着直截了当和深思熟虑的解释。
优点:
- 定期更新
- 基于实践的教程
- 易于浏览的内容
- 冗长但结构良好的代码示例
- 工作面试问答
缺点:
- 教程很难浏览(没有标签或其他分类)
- 到处都有语法错误
何时选择 Tuts 品牌
Tuts Make 绝对不适合新手。要理解这些教程,您至少需要具备 Laravel 的中级知识,因为它们非常基于代码,没有太多的理论讨论。这些教程也互不相关——Tuts Make 是一个博客,而不是一步一步的 Laravel 教程系列。如果你正在找一份 Laravel 的工作,不要错过它的面试问答部分;真的很好。
4.LaraShout(初级、中级、高级)
LaraShout
LaraShout 是一个完全专注于 Laravel 框架的免费教程网站。除了动手操作的 Laravel 教程,它还提供了一些重要理论概念的指南,如中间件、存储、队列和作业等。有些教程被分成系列,这样你可以对每个主题有更深的了解。
目前,LaraShout 有四个系列:集合、设计模式、电子商务应用程序开发和包开发。
优点:
- 易于导航的网站
- 教程从目录开始
- 丰富的内容(高质量的图像、代码示例、警告消息等)
- 基于理论和实践的教程
缺点:
- 有些类别只包含两到三个教程
- 更新频率较低
何时选择 LaraShout
LaraShout 主要推荐给中级和高级学习者,尽管它也有一些初级教程。四个 Laravel 教程系列尤其值得一试——然而,请注意,它们不一定涵盖您需要的所有内容,因为 LaraShout 更像是一个技术博客,而不是一个全面的教育网站。
5.初级(初级,中级)
Learn2torials
Learn2torials 是 Sandip Patel 的一个人项目,提供不同编程语言和框架的免费教程。Laravel 教程部分涵盖了框架的许多重要方面,从安装到备份再到缓存。
它们更侧重于理论而不是实践,但是由于它们包括许多较长的代码示例,它们也可以帮助您解决现实世界中的问题。
优点:
- 配有深思熟虑的解释的精心编写的教程
- 教程采用简单易懂的问答形式
- 注释良好的代码示例
- 许多初级教程
缺点:
- 难以搜索网站(没有分类法)
- 教程不遵循逻辑顺序,从初学者到更高级的
为什么选择学习目录
如果你是一个初学者或者已经知道一些语言的发展,但是你的知识还存在空白,Learn2torials 可以成为你理想的语言资源。它还与官方的 Laravel 文档有许多重叠,因此您可以一起使用这两种资源来巩固您对底层概念的理解。
6.举例说明(中级)
Eloquent by Example
雄辩举例是另一个单人项目,由杰夫·麦德森提供。这是一个免费的 Laravel 教程系列,只关于雄辩的 ORM ,负责在 Laravel 对象和后台运行的关系数据库(MySQL、PostgreSQL、SQLite 或 SQL Server,取决于您的选择)之间传输数据的对象关系映射器。
教程的结构是连续的课程,读起来就像一本关于雄辩的 ORM 的书的章节。
优点:
- 教程写得非常好(几乎像小说一样)
- 易于导航的结构良好的网站
- 丰富的代码示例
- “进一步阅读”部分有资源推荐
缺点:
- 没有介绍性的课程来解释像什么是 ORM 这样的基本概念
- 教程没有出版日期
什么时候选择雄辩的例子
如果你已经有一些 Laravel 知识,但想掌握雄辩的 ORM,这是最好的 Laravel 资源。也就是说,不清楚它最后一次更新是什么时候,但链接指向 Laravel 5.8 文档,所以它可能包含一些过时的信息,并错过了更新的内容。
尽管如此,这是你能找到的最全面的雄辩的指南。
6 个最佳免费 Laravel 教程视频、截屏和播客
1.BitFumes(初级、中级、高级)
BitFumes
BitFumes 是一个教育网站,提供免费和付费的网络开发视频课程。它的免费 Laravel 教程部分包括许多主要针对初学者的高质量视频课程,但你也可以在这里找到一些更高级的内容。
在bit fuses 的 YouTube 频道上也有许多免费的 Laravel 教程,包括一个长达 6.5 小时的课程,涵盖了 Laravel 从非常基础到高级主题的开发,如 Livewire (高栈所需)。
优点:
- 观看免费课程不需要注册
- 视频分为章节和课程
- 进度跟踪功能
- 常用工具配对教程(Laravel 与 DigitalOcean、VueJS、PHPUnit 等。)
- 课程有正确的标签(长度、级别、教程数量、出版日期)
缺点:
- 难以理解的生态系统(网站和 YouTube 上都有免费的 Laravel 课程,还有一门高级课程)
何时选择 BitFumes
BitFumes 的 YouTube 频道在任何情况下都值得浏览,即使你是高级水平。BitFumes 网站上的免费教程涵盖了很多在其他地方很难免费找到的初级主题。它还有一门高级 Laravel 课程,包括条带集成和测试驱动开发等高级主题。
2.Povilas Korop 的 Laravel Business(初级、中级、高级)
Laravel Business
Laravel Business 是一个受欢迎的 YouTube 频道,包括如何使用 Laravel 开展业务的免费视频教程。这是 Povilas Korop 的一个人项目,他也是 Laravel Daily 的作者(见下面的付费部分)。
在他的频道上,他每周都会发布几个 YouTube 视频,讨论诸如 Blade、口才、PHPUnit、SaaS 应用等主题。除了实践教程,Povilas 还做比较,提供职业和商业建议,并在“社区”标签下,每天分享“每日小贴士”。
优点:
- 几乎每天更新
- 非常基于实践的教程
- 较长的视频被分成较小的部分
- 教程视频下的相关链接推荐
- 有时他会在视频回答中回复他的观众
缺点:
- 视频很难搜索
何时选择 Laravel 业务
即使 Laravel Business 主要针对更高级的用户,它也可以成为初学者的一个很好的 Laravel 资源,特别是 Povilas 的商业和职业建议。
如果你已经做了一段时间的 Laravel 开发,并且对你的工作有点厌倦,这个频道可以帮助你重新获得动力,因为它讨论了许多有趣的事情、新特性和你在其他地方找不到的特定用例。
3.拉宁(初级、中级)
Laraning
Laraning 的名字来源于单词“Laravel”和“learning ”,这个名字是真实的,因为它完全致力于 Laravel 学习。它提供免费视频课程,分为“系列”、“专题”和“课程”。
“系列”是关于 Laravel 包和其他主题的松散耦合的视频教程。“功能”仍在开发中,目前只包括一个关于刀片模板引擎的视频教程。“课程”是更长的视频教程系列,例如针对初学者的综合“从 A 到 Z”课程。
注册订阅时事通讯
想知道我们是怎么让流量增长超过 1000%的吗?
加入 20,000 多名获得我们每周时事通讯和内部消息的人的行列吧!
优点:
- 结构良好的课程
- 易于导航的网站
- 实际的、真实的例子
- 全高清视频
- 代码内容可在 GitHub 上获得
缺点:
- 仍在开发中
- 视频没有发布日期
何时选择拉宁
由于 Laraning 网站还没有完全成熟,你会发现到处都有缺失的功能。例如,“登录”按钮仍然不起作用,有些系列只有两个视频片段。然而,已经发布的教程质量很高,绝对值得一试,尤其是 Laravel from A to Z 课程,如果您刚刚开始使用该框架的话。
4.Laravel PHP 框架教程(初级,中级)
Laravel PHP Framework Tutorial
Laravel PHP 框架教程是 FreeCodeCamp 在线学习平台推出的初级视频课程。尽管 FreeCodeCamp 课程的后端部分以 Python 为中心,但它也在其 Youtube 频道上分享其他后端语言的教育视频,这些视频是由其开源社区的成员创建的。
这篇由 Victor Gonzalez 撰写的 Laravel 教程将指导您从头开始构建 Instagram 克隆,它具有跟随/取消跟随、个人资料编辑、调整图像大小等功能。这个视频大约有 4.5 小时长,但它被分成了几个小部分,这样你就可以很容易地看完。
优点:
- 真实世界项目
- 深入解释
- 由 FreeCodeCamp 审核
- GitHub 上的演示代码
- 社区成员在评论区帮助解决问题
缺点
- 基于 Laravel 5.8,所以可能包含一些过时的信息(即使你可以在评论部分找到这些问题的修复)
何时选择 Laravel PHP 框架教程 FreeCodeCamp
如果您想通过构建一个非常流行的真实应用程序的克隆来学习 Laravel,这里是免费学习的最佳场所之一。Victor 的解释很有思想,也很容易理解,如果你遇到问题,FreeCodeCamp 社区会很有帮助。
虽然它是针对初学者的,但如果你已经有一些 Laravel 知识,但想学习如何组装一个类似 Instagram 的应用程序,你可能也会发现它很有用。
5.让我们用 Laravel 构建:一个链接树克隆(初学者,中级)
Let’s Build with Laravel: A Linktree Clone
让我们用 Laravel 来构建:Linktree 克隆是一个快节奏的 Laravel 截屏,它教你如何构建一个类似于流行的 Linktree 服务的社交媒体登陆页面构建器应用程序。
该视频只有 58 分钟长,因为它没有解释基本概念或显示如何安装 Laravel,而是直接进入实践。这个免费的 Laravel 教程是由 Andrew Schmelyun 创建的,他在他的 YouTube 频道上还有其他几个 Laravel 视频,也值得一看。
优点:
- 简明扼要的解释,没有任何混乱或干扰
- 你可以在不到 1 个小时的时间内构建一个工作的 Laravel 应用程序
- 视频被分成更小的部分
- 源代码在 GitHub 上有
缺点:
- 音频质量不是最好的
何时选择“让我们用 Laravel 构建:链接树克隆”
虽然 Youtube 上的视频描述说它是为初学者准备的,但如果你对 Laravel 完全陌生,你需要记住,这个视频假设了 Laravel 的一些预先存在的知识,例如安装或初始配置。
这篇 Laravel 教程非常适合用这个框架构建你的第一个应用程序,如果你想提高你的应用程序开发技能也是如此。
6.Laravel 播客(初级、中级、高级)
The Laravel Podcast
Laravel 播客是由 Matt Stauffer 主持的双周播客,以 Laravel 和 PHP 相关的讨论为特色。每一集都围绕一个主题,比如身份验证、迁移、调试、设置本地环境等等。剧集时长约 1.5 小时,你可以使用嵌入式播客播放器或苹果播客来收听。
优点
- 信息量大的内容
- 定期更新
- 剧集被很好地记录(摘要、注释、链接推荐)
- 有文字记录
- 高质量音频
缺点
- 不能下载单集
何时选择 Laravel 播客
尽管播客不是经典的教程,但它是让你熟悉新技术、听取行业专家的观点以及了解最新功能的绝佳方式。因此,对于任何水平的开发者来说,Laravel 播客都是一个强烈推荐的 Laravel 资源。
(有没有考虑过做播客?查看我们关于如何用 WordPress 发布你的第一个播客的深度指南。
8 个最受欢迎的 Laravel 教程视频、截屏和书籍
1.拉腊卡斯特(初级、中级、高级)
Laracasts
Laracasts 是一个优质的教育平台,提供关于 web 开发的视频。虽然它的主要焦点是 Laravel 框架,但它也有其他技术的课程,其中大部分可以与 Laravel 一起使用,如 CSS ,JavaScript,PHP,SQL,Vue.js 等等。
它还有五个特色 Laracast 旅程 : Laravel、测试、PHP、JavaScript 和工具。旅程是你掌握某项技能所需的一系列截屏。
需要为您的客户站点提供一个非常快速、安全且对开发人员友好的托管服务吗?Kinsta 是为 WordPress 开发者设计的,提供了大量的工具和强大的仪表板。查看我们的计划
优点:
- 截屏有三种不同的组织方式(主题、系列、旅程)
- 易于导航的网站
- 非常高质量的截屏(音频和视频)
- 也有关于流行的 Laravel 包(Envoyer、Forge、Nova 等)和理论(坚实的原则、设计模式等)的截屏。)
- 活动论坛(可通过免费论坛帐户获得)
缺点:
- 没有免费试用期
何时选择 Laracasts
Laracasts 是高质量的视频教程,每个级别都推荐。尽管这是一项高级服务,但你可以找到一些完全免费的系列,例如,Envoyer 上的中级系列和 Forge 上的初级系列。然而,你不能过滤免费课程,所以你需要自己去找。
即使你不想为会员付费,注册一个免费的论坛账户也是值得的,尤其是当你的代码需要一些社区帮助的时候。
2.拉勒维尔日报(初级、中级、高级)
Laravel Daily
Laravel Daily 是前面提到的 Laravel 商业 Youtube 频道的创建者 Povilas Korop 的付费 Laravel 教程网站。Povilas 在这里有 10 个付费和 1 个免费的 Laravel 视频教程系列,涵盖了一些有趣的主题,如用 Laravel 创建发票制作应用程序,用 Laravel 和 Vue 构建 CRUD SPA,掌握口才,用 Laravel 创建 REST API ,等等。
优点:
- 真实世界 Laravel 项目的实时编码
- 记录完善、结构合理的课程内容
- 一个免费的初学者实用速成班
- 所有代码示例都可以在 GitHub 上找到
- 您可以通过安全的教学平台注册/支付
- 您可以通过电子邮件将您的问题发送给 Povilas
缺点
- 课程没有发布日期(尽管你可以从相关 GitHub repo 的提交历史中猜出)
每日何时选择 Laravel
Laravel Daily 推荐给任何水平的 Laravel 开发者。如果你已经是 Laravel 商业频道的订户,并且喜欢 Povilas 的教学风格,他在 Laravel Daily 上的付费视频课程可以成为你在 Laravel 旅程中的下一步。
如果你想获得在就业市场上需求量很大的技能,这也是一个很好的选择,例如 API 或与 Laravel 一起的 SaaS 开发。
3.代码课程(中级、高级)
CodeCourse
CodeCourse 是一个用于 web 开发教程的优质截屏平台。大多数截屏都是以“路径”的形式构建的,分为四类:Flutter、Vue.js、Laravel 和 design patterns。
Clean Laravel 路径由九个视频课程组成,教你如何编写高质量、干净的 Laravel 代码。CodeCourse 还有一个更短的 Laravel 路径,称为使用 Laravel 过滤的。除了路径之外,CodeCourse 还提供单一课程,在这里你可以学习如何用 Laravel 构建不同类型的应用,包括 Twitter 克隆、代码片段网站和电子商务平台。
优点:
- 新内容会定期添加
- 关于路径和课程的丰富信息
- 高质量的截屏(视频和音频)
- 侧重于实践技能
- 免费提供名为“片段”的短片
- 介绍视频是免费的
缺点:
- 结构不良的网站(不清楚他们有不同类型的内容,单一的课程只能从“图书馆”菜单中获得,“片段”很难找到,等等)
- 没有免费试用
何时选择共修课程
要从 CodeCourse 的 Laravel 截屏中获益,您需要熟悉 Laravel 开发的基础知识。但是,如果你有框架的中级知识,或者已经在这个行业工作,你可以在这里学到很多新的东西。
尽管这是一项高级服务,但它真的不贵,所以如果你找到了你感兴趣的课程或道路,这是你时间和精力的一项很好的投资。
4.使用 Laravel、Vue.js 和 Capacitor 构建 API 和 spa(高级)
Building APIs and SPAs with Laravel, Vue.js, and Capacitor
用 Laravel、Vue.js 和 Capacitor 构建 API&单页应用的终极指南是 Dan Pastori 和 Jay Rogers 的电子书,可以在 ServerSideUp 上找到。它涵盖了如何从同一个代码库开发 web 和移动应用程序——所有应用程序都与一个集中的 API 进行通信。
这本书讲述了构建一个名为“烘焙”的真实应用程序的过程,这是一个咖啡屋查找应用程序。这不仅仅是一个演示,而是一个现有的应用程序,允许你注册,添加你最喜欢的咖啡馆,在地图上找到咖啡馆,等等。你也可以在你的安卓或 iOS 设备上安装烘焙应用。
优点:
- 由行业专家撰写
- 结构良好的内容(销售页面上有目录)
- 两个免费章节(但是,您需要注册 ServerSideUp 时事通讯才能获得)
- 电容器优化的草图和 Figma 图标模板
- 有三种不同的格式( PDF ,EPUB,MOBI)
- 访问私人在线社区以获得帮助(仅当您购买更贵的套装时)
- 终身访问和更新
- 在 ServerSideUp 网站上有一些免费的高级 Laravel 教程
缺点:
- 额外的视频教程(作为更昂贵的软件包的一部分宣传)仍在建设中
何时选择“使用 Laravel、Vue.js 和 Capacitor 构建 API 和 spa”
如果你已经是一个经验丰富的 Laravel 开发者,这本电子书可以扩展你的专业知识,进一步拓宽你的知识面。它指导您在构建复杂应用程序时如何支持三种代码库(web、iOS、Android)。
它还将 Laravel 与前沿工具配对——nuxt . js前端框架(构建在 Vue.js 之上)和电容器跨平台运行时(见文档)。另外,它涵盖了 Laravel 8,所以现在它是市场上最新鲜的 Laravel 书(已经有 380 页,新的章节还在继续)。
5.LinkedIn 学习(初级、中级)
LinkedIn Learning
LinkedIn Learning,以前称为 Lynda.com,是一个优质的电子学习平台,提供了一个完整的学习途径。
它由五个独立的课程组成,从(1) Laravel 基础知识开始,然后涵盖(2)测试、安全性和部署,(3) RESTful API 构建,(4) Vue 基础知识,以及(5)将 Vue.js 和 Laravel 一起用作全栈环境。如果你完成了这条学习道路,你将有足够的知识开始你的职业生涯,成为一名全栈式 Laravel 开发人员。
优点
- 指导者是行业专家(贾斯汀·约斯特、雷·维拉洛博斯、迈克尔·苏立文)
- LinkedIn 审核的高质量专业视频
- 结构良好、易于导航的内容
- 有文字记录
- 你可以获得一枚 Linkedin 完成徽章
- 一个月免费试用
- 适用于安卓和 iOS 的移动应用
缺点
- 这些课程涵盖了 Laravel 5 和 6,因此在某些地方可能包含过时的信息
何时选择领英学习
如果你想成为一名全栈 Laravel 开发人员,并且没有庞大的投资组合,LinkedIn Learning 的 Laravel path 可能会帮助你找到工作,因为你可以在你的 LinkedIn 个人资料上显示完成徽章(见它到底意味着什么)。如果您想学习更长的关于全栈 Laravel 开发的课程,这也是一个不错的选择,在这里已经为您收集了所有必要的内容。
6.Udemy(初级、中级、高级)
Udemy
Udemy 是一个全球性的电子学习市场,独立创作者在这里出售他们的视频课程,不仅仅是网络开发,还有许多其他科目。
Laravel 主题目前包括所有知识水平的 280 门课程。Udemy 的界面为你提供了几个不同的过滤器,比如价格、评分、时长、级别等等,帮助你找到最适合你的 Laravel 教程。除了英语,它还提供其他语言的课程。
优点
缺点
- 视频和音频的质量参差不齐,因为课程是由独立作者上传的
何时选择 Udemy
由于 Udemy 提供了近 300 个 Laravel 教程视频系列,你需要投入一些时间和精力来找到你所需要的。值得注意的是“畅销书”、“新品”和“热门&新品”的标签,尽管你无法过滤这些特征。
不要忘记阅读学生评论和观看预览,因为 Udemy 不是一个具有标准化质量保证流程的集中平台。如果你碰到一个坏苹果,你仍然可以使用 30 天退款保证拿回你的钱。
7.技能共享(初级、中级)
Skillshare
Skillshare 是另一个类似于 Udemy 的电子学习市场,但是它使用了不同的定价模式。在这里,你不需要为个别课程付费,但你需要支付月费,这样你就可以访问所有的 Skillshare 课程。
目前,Skillshare 列出了 22 门由独立教师创建的 Laravel 视频课程,但是,请注意,有些 PHP 课程由于某种原因也被列为“Laravel 课程”。
Skillshare 的大部分 Laravel 课程侧重于实践技能,例如建立一个个人预算网站,一个 todo 应用程序,一个邮件列表过滤器,一个任务调度管理面板,以及其他一些功能。
优点:
缺点:
- 你必须注册才能看到价格计划
- 视频质量因课程而异
- 课程没有发布日期(尽管您可以筛选“今年创建的”课程)
何时选择技能共享
虽然 Laravel 开发不是 Skillshare 的主要关注点,但你可以在这里找到一些不错的高级课程。如果你已经是 Skillshare 的会员,也值得看一看 Laravel 的教程视频。
或者,如果你是 Skillshare 的新手,但对他们教授的其他主题感兴趣(除了网络开发之外还有很多,从摄影到音乐到创意写作),注册会员也是个好主意。
8.Eduonix(初级、中级)
Eduonix
Eduonix 是一个拥有独立讲师的在线学习市场,类似于 Udemy 和 Skillshare。它使用与 Udemy 相同的定价模式,所以你可以单独为每门课程付费(然而,它可以选择所有 Eduonix 课程的终身会员资格和一些 T2 捆绑折扣)。
目前,它提供了 16 个 Laravel 视频课程,其中大部分课程会指导您完成一个动手项目,例如创建一个翻译成四种语言的酒店应用程序、一个单页论坛应用程序、一个带有 Vue 前端的联系人管理器应用程序(这个在“学习 Laravel Building 10 Projects”课程中)等等。
优点:
- 课程内容的详细信息(包括上次更新的时间)
- 真实项目
- 高级过滤系统
- 竣工证明
- 30 天退款保证
缺点:
- 视频和音频的质量因课程而异
- 廉价优惠券网站的外观和感觉
何时选择 Eduonix
如果你对动手制作应用程序比理论更感兴趣,Eduonix 可能是你的一个不错的选择。尽管它没有提供大量关于 Laravel 开发的课程,但还是值得关注一下,特别是因为一些创作者在 Udemy 和 Eduonix 上都出售他们的课程,但价格不同(通常 Eduonix 更便宜)。
摘要
设定一个学习目标来了解你的前进方向可以帮助你找到最适合自己的学习指南。如果你有自学在线学习的经验,你就已经知道你喜欢哪种类型的材料:基于文本的教程、视频、视频、播客、博客或更长的书。
您不一定要从一个 Laravel 教程开始,但是您也可以选择一个混合的方法。例如,你可以从视频课程开始,同时订阅时事通讯、收听播客、阅读博客。
如果你不确定自己需要什么技能,浏览求职网站是个好主意,比如 LaraJobs,看看市场上有什么需求(这可能会随着时间而变化)。
你也可以使用项目规划应用程序,如 Trello 或其替代品之一来跟踪你的进度,设置截止日期和提醒,并通过遵循学习计划来不断激励自己。
如果你选择了付费的 Laravel 教程,通常从按月订阅开始比提前一年付费更好,直到你知道你可以期待什么(即使按年订阅每月费用更低)。
最后,在学习过程中尽早开始搭建一个可以工作的 Laravel app。看到你已经能够完成一个现实世界的项目,可以帮助你跟上学习并达到你的目标。
让你所有的应用程序、数据库和 WordPress 网站在线并在一个屋檐下。我们功能丰富的高性能云平台包括:
- 在 MyKinsta 仪表盘中轻松设置和管理
- 24/7 专家支持
- 最好的谷歌云平台硬件和网络,由 Kubernetes 提供最大的可扩展性
- 面向速度和安全性的企业级 Cloudflare 集成
- 全球受众覆盖全球多达 35 个数据中心和 275 多个 pop
在第一个月使用托管的应用程序或托管的数据库,您可以享受 20 美元的优惠,亲自测试一下。探索我们的计划或与销售人员交谈以找到最适合您的方式。
Laravel vs Node:一个头对头的比较
Laravel 和 Node.js 是过去十年中最有影响力和最有效的两种 web 开发技术。它们的性能和出色的解决问题的特性对现代开发人员来说是有利的,自从它们问世以来,已经对 web 开发行业产生了重大影响。
Laravel 是一个 PHP 框架,具有更强的强度和稳定性。由于 PHP 驱动了 78%的 web ,Laravel 获得了巨大的市场份额。
Node.js 也称为 Node,是一个用 JavaScript、C 和 C++构建的 JavaScript 运行时,它提供了开发人员进行全栈开发和快速性能所需的所有工具。
他们两人在各方面都很出色。你需要熟悉每一个选项,以便为即将到来的项目确定正确的选项。
为什么我们要比较这两种技术?虽然 PHP 框架和 JS 运行时环境没有直接的相似性,但是我们注意到很多用户在线提出了 Laravel vs Node 的问题。本文将通过查看每种技术的关键特性、主要差异和用例来尝试回答这个问题。
我们开始吧!
什么是 Laravel?
Laravel’s official logo. (Image source: Github)
Laravel 是一个 PHP 框架,旨在简化现代 PHP 应用的创建。由于其强大的生态系统,许多开发人员利用它来简化开发过程,利用 Laravel 的内置功能和多个兼容的包和扩展。
Kinsta 把我宠坏了,所以我现在要求每个供应商都提供这样的服务。我们还试图通过我们的 SaaS 工具支持达到这一水平。
Laravel 在开发方面取得了杰出的成就,并且一直满足用户的编码期望。正是这个框架阻止了 PHP 逐渐消亡。
Laravel 通过提供常规使用的方法或 API(如路由或认证)来促进 web 开发。您可以利用这些预构建的特性和模板来采用一个省时的 web 开发过程,而不是从头开始编写所有代码。
Laravel Eloquent ORM. (Image source: TheCodework)
Laravel 开发在开发应用时遵循模型-视图-控制器(MVC)架构。它维护项目的目录结构,实现安全措施,包含 Voyager、Laravel-Breeze、Laravel-Debugbar 等多种包。
与其他现代 web 开发框架不同,Laravel 简化了数据库交互,允许您使用 raw SQL、流畅的查询构建器和支持任何数据库(如 MariaDB 或 MySQL)的雄辩 ORM。
Laravel 的主要特点
Laravel framework features. (Image source: MavenCluster)
让我们来了解一下 Laravel 的一些主要特性:
- Blade 模板引擎: Blade,Laravel 的内部模板引擎,通过将几个模板整合成一个数据模型来产生一个视图。它有自己的控制结构,由条件语句和循环组成,允许干净的动态代码。
- 模型-视图-控制器( MVC)架构: Laravel 的 MVC 架构保证了表示层和业务逻辑层的分离,使得开发过程更快。这种 MVC 设计提高了应用程序的效率,并为开发人员增加了安全性和可伸缩性。
- 口才对象关系映射(ORM): Laravel 使用口才,一个对象关系映射(ORM)框架。ORM 允许 web 开发人员用 PHP 而不是 SQL 构建数据库查询。它还通过分配匹配的模型来集成程序员和数据库表,从而获得比旧的 PHP 框架更快的性能。
- **内置包:**Laravel 中众多的预配置包简化了你的代码,帮助你保持一个整洁的环境。例如,社交软件将脸书或谷歌认证整合到你的网站中,允许用户点击注册。
- 安全性: Laravel 通过其内置的安全系统在内部处理您网站的安全性。由于 Laravel 的功能是作为一个中介系统来拦截所有的请求和进程,它可以防止黑客远程将有害代码引入你的服务器。此外,它内置的 CSRF 令牌可以保护您免受其他安全威胁。
- Artisan: Artisan 是一个命令行工具,在 Laravel 框架中自动执行重复的编程任务。它可以创建数据库结构、代码框架或代码迁移,它可以通过命令行生成和维护原始的 MVC 文件,并使用它们的选项管理这些资产。
Laravel 用例
Laravel use cases. (Image source: Aglowid)
让我们看看 Laravel 的一些引人注目的用例,从自由开发者到企业级公司:
- **高性能 web 应用:**开发人员使用 Laravel 框架创建高性能、安全的在线应用或网站。
- 微服务架构应用: Laravel 的微框架设计对于电子商务应用非常高效。它由多个独立运行的模块组成,并基于单个构建块集成大规模 Laravel 应用程序。因此,将一个冗长的程序分成更小的、独立的部分变得很容易。
- **高级别安全应用:**散列秘密词、Bcrypt 散列计算和结构化 SQL 等安全特性允许开发高度安全的应用。而且 Laravel 生成的所有 cookies 都是加密签名的;如果客户修改了它们,它们就会失效。因此,Laravel 比 PHP 更安全。
- 预建应用: Laravel 拥有众多预建应用,为开发者和用户节省时间。如果你需要建立一个类似的应用程序,你可以很容易地使用在 Laravel 网站上找到的模板。
谁用 Laravel?
作为最流行的 web 开发框架,Laravel 为开发人员创造了一个受欢迎的利基市场。今天,各种规模的企业,从初创企业到公司,都依赖于 Laravel。
以下是一些使用 Laravel 的公司:
- 英国广播公司(British Broadcasting Corporation)
- 辉瑞
- 9GAG
- 旅游雷达
- 关于你
- 诺维尔公司。
- 发票忍者
- 艾莉森(女子名)
- 拉拉卡斯特
- 阿尔法编码员
Node.js 是什么?
The Node.js logo. (Image source: ZTM)
许多 IT 和开发爱好者经常承认 Node 是一种编程语言,这是一种普遍存在的误解。
Node 更像是 JavaScript 编程语言的超级套装,赋予了它传统编程语言所没有的特殊能力——例如,客户端和服务器端开发的能力。
Node.js 是一个单线程、开源、跨平台的运行时环境,它在浏览器之外执行 JavaScript 代码,用于服务器端开发。它也用于构建网络应用程序。如前所述,它采用了 Google V8 JavaScript 运行时引擎和非阻塞、事件驱动的 I/O 架构。
对于那些正在为构建另一端而烦恼的开发人员来说,这是一个理想的工具。Learning Node 让你成为一名全栈开发人员,可以构建应用程序的前端和后端。
Node 采用异步、事件驱动的方法,非常适合开发在分散设备上运行的时间敏感、数据密集型应用程序。由于 Node 的非阻塞特性,它对于构建实时应用程序来说也是高度可扩展的。
Node 拥有丰富的 JavaScript 模块库,在创建 web 应用程序时非常有用。所以,好消息是,如果你在发展中遇到困难,援助永远不会远离你。
而且 Node 很容易安装,可以马上开始使用。
节点主要功能
Node main features. (Image source: GeeksforGeeks)
让我们来看看 Node 的一些主要特性:
- **异步和事件驱动:**节点库提供的所有 API 都是异步的(非阻塞)。基于节点的服务器从不等待来自 API 的数据。相反,在访问一个 API 之后,服务器继续下一个。它还使用一个名为 Events 的通知系统来接收和监控对以前的 API 查询的响应。
- **全栈:**节点是为了理解和执行 JavaScript 代码而设计的。有了 Node,客户端和服务器端的开发变得轻而易举。它允许 JavaScript 能力开发人员开发全栈应用程序。因此,前端和后端是同步的,因为您可以在两端使用 JavaScript。
- **单线程:**由于其单线程事件循环架构,Node 具有极佳的可扩展性。与使用有限线程处理请求的传统服务器相比,node.js 的事件机制使其无阻塞且可伸缩。与 Apache HTTP Server 相比,Node 使用单线程软件,可以处理更多的请求。
- 跨平台兼容性: Node 兼容 Windows、Unix、Linux、Mac OS X 和移动平台。您可以将它与相关的包结合起来,生成一个自给自足的可执行文件。使用 NW.js 和 Electron,开发人员可以构建跨平台的实时应用程序,而无需为每个平台单独编写代码。
- 快速数据流: Node 是一个轻量级的、快速的、支持本地流 API 的框架。它允许用户互相转发请求。因此,它将数据直接传输到目的地。由于回调函数的概念,节点应用程序以块的形式输出数据。它减少了所需的处理时间,并且在没有缓冲的情况下提供有效的数据流。
- **物联网协议:**节点不需要大量的服务器端内存和资源。因此,软件开发人员可以使用物联网开发来实现多个设备之间的并发链接。此外,Node 支持大多数物联网应用程序采用的消息队列遥测传输(MQTT)协议。因此,独立和第三方设备的后端集成变得毫不费力。
- 节点程序包管理器(npm): 节点程序包管理器(npm)是节点的本机程序包管理器。npm 帮助您下载和安装基本的应用程序包,并允许您利用其他地方的代码,而不是从头开始编写。NPN 是世界上最大的软件库注册中心。除了帮助安装软件包库之外,它还处理库依赖关系。
- **性能:**作为谷歌 Chrome 的 V8 JavaScript 引擎运行 Node,可以高速率执行代码。此外,它将 JavaScript 代码翻译成机器代码,实现起来更容易、更快。其优异的性能源于异步编程和非阻塞输入输出过程等概念。此外,Node 广泛使用事件,这有助于其非凡的速度。
- 可伸缩: 节点 应用由于其异步(非阻塞)操作,具有很强的可伸缩性。节点在单线程上运行,当请求到达时,它就开始处理请求,并准备接收后续请求。此外,一旦准备好响应,就会将其发送给客户端。
节点用例
Node use cases. (Image source: Simform)
让我们来看看为开发人员和企业服务的一些引人注目的节点使用案例:
- Web 流应用: Node 包含一个本地流 API,可以利用 Unix 管道有效地进行流传输。类似地,它允许只下载网络应用程序的某些部分,其余部分在后台下载以避免缓冲。因此,像网飞这样的公司使用 Node 为他们的客户提供优雅的流媒体体验。
- **实时应用:**实时应用可以说是 Node 的最佳用例。节点允许重用和共享库代码包,这加快了服务器到客户端的数据同步。此外,Node 的 WebSockets 和事件 API 可以处理密集的 I/O。因此,Node 在实时协作解决方案的开发人员中很受欢迎。
- 高度可扩展的应用: Node 包含多种尖端功能,例如允许在多个 CPU 内核上实现负载平衡的集群模块,从而更容易通过更小的模块提供所需的结果,而不会耗尽 RAM。因此,随着用户群的持续增长,它已经成为所有应用程序和平台的首选。
- **服务器端代理:**第三方代理导致混乱和糟糕的 web 应用程序性能。甚至像 Nginx 和 HAProxy 这样的著名代理也不能同时处理多个请求。Node 可以容纳多个并发的非阻塞连接,这使它成为一个理想的服务器端代理。例如, BBC News 使用 Node 来管理与其第三方信息服务器的连接。
- **服务器端渲染:**在 Node 中使用服务器端渲染(SSR),你的应用可以生成一个完整渲染的网页,直接发送给客户端,绕过浏览器。它还具有库支持和浏览器特性,而不是并发模型。最近,Airbnb 迁移了一项类似的服务,该服务可以在 Node 中生成类似的完整的、由服务器呈现的网页。
谁使用 Node?
自 2009 年成立以来,Node 已经为多个市场领导者发挥了举足轻重的作用。节点 开发的应用目前被各种规模的企业使用,从初创公司到财富 500 强企业。
让我们看看一些实施 Node 的行业领先公司:
Laravel vs Node:一个头对头的比较
现在我们已经了解了什么是 Laravel 和 Node,它们的特性和应用,让我们更深入地比较和对比它们的具体参数。
相似之处:
虽然 Laravel 和 Node 看起来不一样,但两者之间有明显的相似之处。在我们深入剖析这些编程奇迹之前,让我们讨论一下它们之间的相似之处。
- 开源:【Laravel 和 Node 都是开源应用。Node 是一个开源的运行时环境,而 Laravel 是一个开源的 web 开发框架。
- 全栈:【Laravel 和 Node 都提供了全栈开发。在前端,Laravel 在后端使用 JavaScript 和 PHP。节点的前端和后端都使用 JavaScript。
- 可靠性: Laravel 和 Node 得到了全球众多软件开发商的支持和利用。大量的软件应用程序都是用这两种语言构建的。由于它们的可靠性和可靠性,这两种技术仍然处于所有 web 技术的前沿。
结构和灵活性
编程语言的效率和性能取决于它的结构,而结构决定了函数。Laravel 使用模型视图控制器(MVC)架构,而 Node 使用单线程事件循环架构。让我们比较和对比一下这两者有什么不同。
拉勒韦尔
Laravel framework workflow. (Image source: How-To-Geek)
Laravel 是一个基于 PHP 的 web 框架,深受模型视图控制器(MVC)架构的影响。MVC 架构将程序的业务逻辑从其表现中分离出来,并影响程序的性能。控制器充当管理所有请求的桥梁,联系模型以检索请求的数据,并将数据传输到视图。
Laravel 旨在让 PHP 开发人员更容易启动新项目。使用 Laravel,您可以更少地关注项目的设置、架构和依赖性,而更多地关注项目的核心功能。
结节
Node workflow. (Image credit: Appiness)
Node 遵循单线程事件循环设计范例。它与多线程的请求/响应技术有很大的不同。但是,一个线程可以同时管理几个客户端。值得注意的是,JavaScript 的基于事件的模型和回调机制是 Node 的主要处理组件。
节点向应用程序发送阻塞和非阻塞请求。然后事件循环逐个接收请求。它为不需要客户端外部授权的单个请求提供服务并返回响应。
如果请求很复杂并且需要客户端联系,则从线程池中分配一个线程。线程将完成块请求,包括数据库通信。
扩展性和可伸缩性
可伸缩性主要指系统处理不断增加的工作量的能力。如果您使用的系统可能会与大量流量交互,那么您应该选择能够有效管理流量的技术。
拉勒韦尔
Laravel 采用 MVC 架构和几个线程来处理请求。当它接收到多个请求时,就变得有些欺骗性。由于 Laravel 需要执行额外的计算工作来服务请求,维护可伸缩性可能会变得困难。
工作量越大,需要的逻辑和能力就越多。因此,它需要更大的存储容量和功能,从而降低了作曲者的速度。
有了 Laravel,开发人员现在可以创建可伸缩的系统。通过平衡 HTTP 请求的负载,利用 HTTP 平衡器可以使基于 Laravel 的系统更具可伸缩性。
结节
Node 的单线程事件循环架构使其具有高度的可扩展性。因此,它作为一种开发工具受到了极大的关注。此外,异步操作的特性使得平稳处理重负载变得更加容易。
Node 可以提供管理实时微服务所需的最具可扩展性的解决方案。此外,它比 Python 提供了更多的可伸缩性。
学习曲线
学习编码时,每个人的体验都不一样。学习 Laravel 和 Node 需要分别熟悉 PHP 和 JavaScript,因此对于初学者来说,学习曲线可能很难。
拉勒韦尔
据说拉勒维尔有一个陡峭的学习曲线。在整个 Laravel 学习过程中,你必须具备 PHP 的工作知识和 HTML 和 CSS 的编程经验。
也就是说,Laravel 的模板和预装资源将加速 web 应用程序的开发。它还为您管理一些基本的开发功能。
如果您想使用 Laravel,您需要熟悉 Laravel 的代码结构、MVC 架构、Laravel 库和数据库集成等等。然而,有了 Laracasts 这样的工具和大量的文档,掌握框架和 PHP 编程语言应该不难。
结节
如果你熟悉 JavaScript,Node 很容易理解。您还需要理解 Node 的架构,它是建立在 JavaScript 和 npm 包模块之上的。您可以从一个节点演示项目开始学习架构和模块安装。
如果您已经牢牢掌握了 JavaScript,您可以立即开始使用 Node 进行开发。
注册订阅时事通讯
想知道我们是怎么让流量增长超过 1000%的吗?
加入 20,000 多名获得我们每周时事通讯和内部消息的人的行列吧!
性能(速度)
Laravel 是公认的各种特点,但不是它的速度。另一方面,Node 快得令人难以置信。然而,由于 Node 是单线程的,因此使用 Node 执行复杂的数值计算会很耗时。
Node 明显比 Laravel 快,但 Laravel 更健壮。把 Laravel 想象成一辆双层巴士,而 Node 更像一辆摩托车。
如果您计划执行大量计算过程,请使用 Laravel 否则,使用节点。
拉勒韦尔
Laravel 具有一个刚性架构,可以有效地处理简单和复杂的基于计算的应用程序。它在数据库交互和安全性等方面表现出令人印象深刻的效率。
Laravel 提供了大量经过 Laravel 开发人员验证的库,为您的项目提供了效率和可靠性
Laravel execution time. (Image source: Medium)
如果您的网站需要身份验证,您可以从多个身份验证包(如 Laravel-Auth 或 Breeze)中进行选择,以自动启用安全功能。
Laravel 还包括用于定制的预构建代码。因此,您可以减少花费在开发上的时间,并从质量和时间效率的提高中获益。
结节
Node 中的单线程事件循环架构提供了显著的性能提升。查询不必等待外部请求,因此处理所述请求所需的时间显著减少。这可以大大提高实时应用程序和单页应用程序(spa)的性能。
Node request handling. (Image source: Medium)
npm 模块为几乎所有场景提供了代码模板。然而,越来越多的图书馆让找到合适的图书馆变得更加困难。此外,因为 Node 允许创建和重用来自不同用户的代码片段,所以每个模块的性能可能不同。
此外,在管理具有复杂计算和数据库集成的高端业务时,Node 可能不太可靠。
也就是说,它擅长管理应用程序的可伸缩性。
用户化
因为两者都是开源的,所以都允许定制的机会。但是,由于它们的操作方式不同,选项也会有所不同。
拉勒韦尔
作为开源软件,Laravel 为你提供了功能代码,让你随心所欲地进行实验。如果你精通 PHP,你甚至可以根据你的应用规范修改这些代码。
此外,Laravel-Auth 和 Laravel-Breeze 为您的应用程序提供了一个前端认证系统。您可以使用 Laravel 包库修改前端和后端身份验证代码的功能和外观。
结节
和 Laravel 一样,Node 运行时环境是开源的。您可以根据您的开发规范定制包模块并管理依赖版本。Node 还提供了一个样板文件,您可以将它修改成一个功能齐全的应用程序,并与他人共享(如果您愿意的话)。
受欢迎程度和就业市场
Laravel 的流行源于 PHP 的流行,而 Node 的流行源于 JavaScript 的流行。通过查看下面的谷歌趋势报告,我们可以看到用户搜索这些网络技术的频率。
Laravel and Node popularity on Google.
拉勒韦尔
Laravel 是最流行的 PHP 开发框架,因为它有清晰的语法、浅显的学习曲线、可靠的安全性和高性能。根据 JetBrains 在 2020 年进行的一项调查,50%的 PHP 开发人员经常使用 Laravel,Github 的一项排名显示,Laravel 是最受欢迎的 PHP 框架。
The most popular backend frameworks. (Image source: Statistics & Data)
对 Laravel 开发者的需求是巨大的,这意味着 Laravel 开发者有权要求足够的补偿。在美国,Laravel 开发人员的平均工资约为每年 92,000 美元,或每小时 44 美元。
Struggling with downtime and WordPress problems? Kinsta is the hosting solution designed to save you time! Check out our features
由于互联网的大部分都是建立在 PHP 之上的,Laravel 及其开发者的胃口不太可能很快消失。
结节
JavaScript 是过去十年中最流行的编程语言,68%的专业开发人员以某种方式使用它。Node 使 JavaScript 开发人员能够管理前端和后端,这证明了其受欢迎程度的指数增长。
根据 StackOverflow 的数据,目前有 36%的专业开发人员将 Node 作为他们的主要语言或框架。Node 在 Github 上也有 87000 颗星星。
Most Popular Programming Technologies 2021 (Image source: Stack Overflow)
Node 是一种未来的编程语言,所以在可预见的未来,对 Node 工作的需求减少的可能性很小。得益于此,节点开发者获得了丰厚的报酬。一个远程节点 开发人员的工资大约是每年 114000 美元,或者每小时 55 美元。
如果你对 Node 的职业感兴趣,现在是时候开始了。
安全性
在安全性方面,Laravel 比 Node 更突出,因为 Laravel 可以防范常见的漏洞。除非您将 Laravel 用于原始查询,否则它会清理所有数据。然而,Node.js 的核心是安全的,但是第三方包通常需要额外的安全性。
拉勒韦尔
Laravel Security Features (Image source: Webnexs)
Laravel 的安全特性是其最重要的方面。它使用安全的 Bcrypt 哈希算法来加密我们的密码和 CSRF 令牌来保护您的表单数据。
拉勒维尔用雄辩的 ORM 防御 SQL 注入。PDO 或 PHP 数据对象类是雄辩的 ORM 安全的主要原因。Laravel 还支持 HTTPS 传输敏感数据的请求。
结节
Potential Node security issues. (Image source: Simform)
使用其授权组件时,Node 还提供高级别的安全性。然而,这并不承认开源软件的安全性和许可困难。
A Node machine-in-the-middle (MIDM) attack. (Image source: Medium)
Node 塞满了第三方模块,其中许多都有安全缺陷。然而,Node 已经实现了一个反 CSRF 令牌来检查身份验证,用户也可以使用 cookie 会话模块。此外,自动化的漏洞扫描可以帮助识别典型的节点安全漏洞。
生态系统(支持和社区)
拉勒韦尔
Laravel 是全球最流行的 web 开发框架之一,全世界的开发者都在用它构建大量的应用程序。因此,Laravel 有一个丰富的用户社区。
大多数开发人员互相帮助,共享他们的包,并指导新的开发人员。Laravel.io 或 Laracast 是框架的实质性技术支持社区的例子。
此外,Laravel 使用 PHP,这意味着任何人在使用 PHP 代码时遇到困难都可以从 Laravel 社区寻求帮助。此外,科技巨头如脸书、Github、T2、LinkedIn、其他社交网络和在线用户论坛拥有众多的 Laravel 用户支持团体。
结节
Node 拥有大量的用户论坛,提供技术援助和建议。Node 官方网站有自己的用户社区,网站 Nodejs.dev 提供了补充的 Node 用户支持社区。
用户可以在脸书、Github、StackOverflow、Linkedin 和其他社交网络上找到专门的地方来讨论与节点相关的问题和解决方案。随着越来越多的网站和应用程序使用 Node 开发,社区对该框架的支持继续呈指数级增长。
句法
Laravel 使用 Blade 语法,而 Node 使用 JavaScript 语法。让我们更深入地讨论每一个问题。
拉威尔刀片式服务器
Laravel Blade 是一个强大的模板引擎,它使 Laravel 用户能够快速开发语法并毫无困难地使用模板引擎。它提供了一个实质性的结构,包括条件表达式和循环。
您可以通过创建一个视图文件并使用 .blade.php 扩展名而不是来保存它,从而创建一个刀片模板。php 。
Laravel Blade syntax. (Image Source: Medium)
让我们看看一些 Laravel 刀片语法:
-
**显示数据:**要打印变量的值,请用花括号括起来:
{{$variable}};
-
三元T3】运算符:刀片模板中三元运算符的语法是这样的:
{{ $variable or 'default value'}}
-
**刀片循环:**刀片模板引擎提供循环指令,包括
@for
、@endfor
、@foreach
、@endforeach
、@while
和@endwhile
:@for ($i = 0; $i < 10; $i++) The current value is {{ $i }} @endfor @foreach ($users as $user) <p>This is user {{ $user->id }}</p> @endforeach @forelse ($users as $user) <li>{{ $user->name }}</li> @empty <p>No users</p> @endforelse @while (true) <p>I'm looping forever.</p> @endwhile
-
**If 语句:**使用
@if
、@elseif
、@else
和@endif
指令,可以创建 If 语句。这些指令和它们的 PHP 对等物有相同的功能:@if (count($records) === 1) I have one record! @elseif (count($records) > 1) I have multiple records! @else I don't have any records! @endif
-
原始 PHP: 有时候,在你的视图中加入 PHP 代码会很有帮助。使用 Blade
@php
指令,您可以在您的模板中执行一个普通的 PHP 块:@php $counter = 1; @endphp
-
**评论:**刀锋也允许你在你的观点中添加拉拉威尔评论。与 HTML 注释不同,Blade 注释不包含在应用程序提供的 HTML 中:
{{--The resulting HTML will not contain this comment. *--}}*
-
**CSRF 字段:**在应用程序中定义 HTML 表单时,要包含一个隐藏的 CSRF 令牌字段,这样中间件就可以验证请求。您可以使用
@csrf
刀片指令:<form method="POST" action="/profile"> @csrf ... </form>
生成令牌字段
-
堆栈: Blade 支持推送命名堆栈,您可以在不同的视图或布局中的其他地方呈现这些堆栈。这对于指定孩子的视图需要的 JavaScript 库很有用:
@push('scripts') <script src="/example.js"></script> @endpush
结节
Node 和 JavaScript 使用相同的语法。但是,这些 API 之间存在差异。
Node 不支持传统的浏览器 DOM,尽管在 nodejs.org 可以获得额外的 API。然而,浏览器的怪癖导致了语法上的差异。
让我们看看 Node 的一些语法:
-
**原始类型:**节点支持以下原始数据类型:
-
字符串
-
号
-
未定义
-
布尔型
-
Null
-
正则表达式
-
**松散类型:**Node 中的 JavaScript 允许松散类型,类似于基于浏览器的 JavaScript。可以用 var 关键字声明任何变量。
-
**对象文字:**对象文字语法与浏览器的 JavaScript:
var obj = { authorName: 'Zadhid Powell', language: '*Node**' }*
相同
-
**职能:**节点视职能为一等公民。此外,一个函数还可能具有特征和性质。它也可以被视为一个 JavaScript 类:
function Display(x) { console.log(x); } Display(100);
-
节点调试器:节点有简单的 TCP 协议和调试客户端。您可以使用
debug
后跟。js 用于调试 JavaScript 的文件名:node debug [script.js | -e "script" | <host>:<port>]
-
节点文件系统(FS): 节点通过封装在简单包装器中的传统 POSIX 方法提供 I/O 文件。您可以使用下面的语法导入[节点文件系统【T4:
var fs = require("fs") ```](https://kinsta.com/knowledgebase/nodejs-fs/)
-
**节点事件:**节点线程完成一个任务后,释放相关事件,执行事件监听器函数:
// Import events module var events = require('events'); // Create an eventEmitter object var eventEmitter = new events.EventEmitter();
-
**node . js V8:**node . js V8 模块包含 V8 特有的接口和事件。通过
v8.getHeapStatistics()
和v8.getHeapSpaceStatistics()
函数,它提供了对堆内存统计数据的访问:const v8 = require('v8');
-
节点 Punycode: Punycode 将 Unicode (UTF-8)字符串转换成 ASCII 字符串。使用 Punycode 是因为主机名只理解 ASCII。Punycode.js 随 Node.js 版本 0.6.2 及更高版本一起提供:
punycode = require('punycode');
Laravel 与节点:对照表
让我们看一下 Laravel 与 Node 的对比,并回顾一些基本的编程参数:
拉勒韦尔 | 结节 | |
---|---|---|
创造 | Two thousand and eleven | Two thousand and nine |
种类 | 语言(PHP)框架 | JavaScript 运行时环境 |
易于编码 | 简明的 | 长的 |
流行 | 0.35%的网站 | 4.24%的网站 |
发动机 | 刀片模板引擎 | 谷歌的 V8 JavaScript |
包管理器 | Composer 包管理器 | 节点程序包管理器(npm) |
执行 | 同步的 | 异步的 |
执行速度 | 强大而轻巧 | 更快、更轻便 |
并发 | 多线程阻塞 I/O | 事件驱动的非阻塞 I/O |
表演 | 慢的 | 更快的 |
网络服务器 | 不需要 | Apache 和 IIS |
数据库ˌ资料库 | 4 (MySQL、PostgreSQL、SQLite、SQL) | 关系型和传统型 |
JSON | json_encode | JSON.stringify()和 JSON.parse |
最新版本 | 拉勒韦尔 9 | 节点 18.3.0 |
社区 | 小但在上升;分享 PHP 社区 | 庞大的在线社区 |
Laravel vs Node:你该选哪个?
既然我们已经深入探讨了这两个开发奇迹,您应该对它们有了更好的理解。这两个框架提供了大量的功能,使您的开发更易访问、更稳定、更安全、更可伸缩。
我们的研究表明两者各有利弊。为此,基于客观证据的优势宣言是无益的。
最后,您应该选择与您的项目所需的特性集相匹配的技术…
何时使用 Laravel
如果您的项目有以下要求,您应该使用 Laravel:
- **快速开发:**由于其预制的模板和社区支持,Laravel 是最快的应用程序开发框架之一。
- 全面系统: Laravel 为任何规模的基于 CMS 的网站提供了一个强大的系统。以 PHP 为基础,Laravel 可以高效地管理大型网站。
- 行业 -g **拉德:**拉勒维尔在专业、教育、购物、商业等主流行业都欣欣向荣,除了艺术和娱乐行业,这个节点占主导地位。
- 高度安全: Laravel 禁止在数据库中存储明文密码,因为它需要散列和加盐密码。此外,它还包含一个集成的安全和授权系统以及 Bcrypt 哈希算法来进行密码加密。
何时使用节点
您应该将 Node 用于需要以下内容的开发项目:
- **全栈:**选择服务器端和客户端同时开发的节点。Node 消除了协调独立的前端和后端框架或团队的麻烦。
- 速度和性能: Node 运行程序的速度比大多数编程语言都要快,从而显著提高了性能和稳定性。如果希望应用程序同时处理许多命令和请求,请选择 Node。
- 聊天 app: Node 是开发实时应用的最佳选择。没有其他类似的技术。如果要创建多用户实时应用程序,请使用 Node。
- **数据流:**在常规平台中,HTTP 请求是独立的事件。Node 提供了类似的功能,并支持流式传输(在上传期间处理文件)。使用 Node 构建音频/视频流应用程序。
- 仪表板监控: Node 是开发监控仪表板的优秀工具,尤其是应用和系统监控仪表板。Node 的实时功能、双向套接字和事件循环功能有助于开发强大的监控功能。
Need a little help picking the right framework for your project? 👩💻 Start here ✅Click to Tweet
摘要
Laravel 和 Node 在功能和预期用途上都是独一无二的,毫无疑问,它们在最近几年非常受开发人员的欢迎。
然而,最终的决定更多地取决于您的用户需求,而不是 Laravel vs Node 可能提供的特性。当涉及到您的开发时,一种技术可能包含您需要的所有基本内容,而另一种可能不包含。
无论哪种方式,在可预见的未来,您都可以依靠 Laravel 和 Node 这两个仍然可行的开发选项。
你有机会在最近的作品中使用 Laravel 或 Node 吗?在下面的评论中分享你的想法吧!
让你所有的应用程序、数据库和 WordPress 网站在线并在一个屋檐下。我们功能丰富的高性能云平台包括:
- 在 MyKinsta 仪表盘中轻松设置和管理
- 24/7 专家支持
- 最好的谷歌云平台硬件和网络,由 Kubernetes 提供最大的可扩展性
- 面向速度和安全性的企业级 Cloudflare 集成
- 全球受众覆盖全球多达 35 个数据中心和 275 多个 pop
在第一个月使用托管的应用程序或托管的数据库,您可以享受 20 美元的优惠,亲自测试一下。探索我们的计划或与销售人员交谈以找到最适合您的方式。
如何在 WordPress 帖子和页面上显示最后更新日期
当在网上发布内容时,你必须向用户展示博客帖子、页面或媒体是新鲜、准确和最新的。
揭示你的内容的时效性的一个方法是在 WordPress 博客文章或者页面的某个地方显示“最后更新”日期,比如专题图片、标题或者整篇文章的上方或者下方。
这样,用户可以看到最近更新的日期以及“发布”日期,或者您可以完全替换发布日期。
查看我们的视频指南,显示 WordPress 帖子和页面的最后更新日期
简而言之,显示的日期更近,向读者(和搜索引擎)表明你的内容是新的,你没有让太多时间过去(这可能会导致链接断开、信息不准确或图像过时)。
在哪里查看发布日期和最后更新日期
根据你的主题风格,发布日期可能会出现在的帖子、页面或两者上;最常见的位置是在标题之后,内容之前,并且经常有署名。
Kinsta 把我宠坏了,所以我现在要求每个供应商都提供这样的服务。我们还试图通过我们的 SaaS 工具支持达到这一水平。
An example of the published date on an old post.
话虽如此,发布日期的造型和位置完全取决于你的主题。你可以在特色图片的上方看到它,还有一个图标,就像下面的主题一样。
Make sure your posts are fresh & up to date with this guide! 🗓✅Click to Tweet
The Twenty Twenty theme offers a unique published date format.
一些主题甚至将发布和最后更新的日期放在内容的末尾,就在评论框之前。
The date on this theme is displayed below the content.
你也可以通过进入你的帖子列表中的日期栏,在后台找到发布日期。
The Date column shows published dates in the WordPress dashboard.
WordPress 也在帖子编辑器中显示发布日期。
The Published date is the only date shown when editing a post in WordPress.
在本文中,我们解释了显示“最后更新”日期而不是发布日期的好处。我们还将向您介绍显示上次更新日期的各种方法,同时演示如何判断网站上次更新的时间。
请继续阅读,了解所有相关信息!
在你的网站上显示“最后更新”日期的好处
定期更新你的内容,并显示最后更新的日期,为网站所有者、搜索引擎用户和那些已经在你的网站上的人带来各种好处。考虑到搜索引擎在确定排名时会考虑新鲜感和相关性,这也有助于搜索引擎优化。
以下是在你的页面和文章上显示“最后更新”日期的主要好处。
- **最近的日期比发布日期更准确,**它显示您的内容可能比不久前发布的内容更新。
- **用户看到这是一篇更新的文章,不会认为这是一篇旧文章,**这可能会增加你的点击率和用户阅读的总时间。
- 你的“最后更新”日期让你更有可能脱颖而出,因为搜索引擎会在结果中显示这些日期,你的结果会被其他网站的列表放在右边。
- 这给了搜索引擎另一种识别帖子新鲜度的方法。 当然是搜索引擎抓取内容;但是这种情况并不总是发生,而且“最后更新”的日期会加强你的网站上所做的任何更改。
- 更近的日期提供了一种信任感,即你已经消除了内容问题,如断开的链接,损坏的图像,以及任何不再真实的内容。
- 当内容(和日期)更新时,搜索引擎倾向于更频繁地索引你的网站。这不是一个硬性规定,但是众所周知,搜索引擎会记录不断更新内容的网站,更频繁地抓取它们。
- 你提高了整体搜索排名 的潜力,因为你的整个网站都从你更新的帖子中受益。
- **它给你一个更新内容的视觉借口/提醒,**因为你可能会注意到一个更老的日期,并意识到需要更新。
- 搜索引擎更喜欢你更新旧的内容,而不是每次你有关于同一主题的新信息时就写一篇新文章。这消除了重复内容的可能性,也解释了为什么显示最近的日期对改善 SEO 最有好处。
- 一些出版物(如在线报纸)需要有“最后更新”日期,这样带有更正和新信息的内容就会显示在网站提要的顶部。这是为了让用户不会错过那些更新。
如何在 WordPress 中显示最后更新的日期
默认情况下,WordPress 不会显示新内容或更新内容的最后更新日期,而是显示发布日期。即使几年后这篇文章有了多次更新,这个发表日期依然存在。
一些现代主题提供了内置功能,只需点击几下鼠标就能显示最近更新的日期。首先检查 WordPress Customizer 的主题中的日期定制设置是一个好习惯。但是不能保证任何东西都是可用的。
如果你不能在 WordPress 定制器中添加最后更新日期,使用这些方法来添加它:
- 通过编辑functions.php文件和 CSS
- 通过修改和添加代码到你的主题模板中
- 带插件
前两种方法需要你访问你的网站的主题文件,所以如果你还没有经验的话,请阅读 WordPress 文件层次结构(以及如何理解它们)。
查看以下三种方法,了解在您的情况下最佳的行动方案。
方法 1:在你的主题中编辑functions.php和 CSS
在 WordPress 中添加“最后更新”日期的第一种方法是访问你的主题的functions.php文件,并向该文件添加代码。或者,你可以将代码添加到一个子主题或特定于站点的插件中,以避免当你切换或更新主题时代码消失的问题。
所有这些选项都使用相同类型的 CSS 代码,所以我们会给你一些代码来添加,并告诉你如何把它放在functions.php文件中。如果使用子主题或特定站点插件,只需使用相同的代码并修改这些文件。
首先,去你的主题的functions.php文件。访问functions.php最简单的方法是使用FTP 客户端与 SFTP 连接。你通常可以在你的 FTP 客户端找到它,方法是进入/www
(或者你的网站名称)> /public > /wp-content > /themes > /theme-name
(在本教程中我们使用的是/twentytwentyone
)。
Open the functions.php file.
使用文本或 markdown 编辑器打开文件,然后添加以下代码(如果使用子主题/特定于站点的插件,该代码也应该有效):
function show_last_updated( $content ) {
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a');
$custom_content .= '<p class="last-updated-date">Recently updated on '. $updated_date . ' at '. $updated_time .'</p>';
}
$custom_content .= $content;
return $custom_content;
}
add_filter( 'the_content', 'show_last_updated' );
保存文件并上传回您的服务器。因此,最后更新的日期就出现在文章内容的前面。代码首先检查发布日期和最后更新日期是否相同。
如果它们是相同的,您仍然可以看到发布日期本身。如果它们不同,最后更新日期将与发布日期一起显示。
Frontend view of the last updated date.
重要的
所有的主题都有不同的表现,所以你可能会发现发布日期仍然在最后更新日期旁边;其他主题完全删除了发布日期,以便为最后更新的日期让路。
如何更改新的最后更新日期的样式
在functions.php中的新 PHP 代码缺乏风格,但是从你的主题风格来看,它仍然是可以接受的。如果没有,考虑通过插入定制的 CSS 代码来控制最后更新日期的外观。这里有一些示例代码可供尝试或扩展:
.last-updated-date {
font-size: large;
font-family: monospace;
text-transform: uppercase;
color: white;
background-color: black;
}
注意,我们使用了与插入到functions.php中的 PHP 代码相关的last-updated-date
类。您可以根据自己的需要更改这个类,但是要确保在您的 CSS 代码中也使用相同的类。
**注意:**完全可以根据需要更改 CSS 属性和值;这些只是例子。
在 WordPress 中进入外观>定制>附加 CSS 后,将 CSS 代码插入到字段中。这使得 CSS 能够覆盖整个网站,而不仅仅是在一个页面或帖子上。
Add CSS code for styling.
在发布 CSS 代码之后,这些样式上的变化会反映在最后更新日期的所有前端实例上。例如,我们改变了背景颜色、字体颜色、字体系列、字体大小,还将所有内容都转换为大写字母。
Frontend view after CSS styling.
如何删除页面和其他非文章内容的最后更新日期
你现在可能会发现,你网站上的每个网页都有最后更新日期;考虑到你没有理由显示像主页、产品页面、关于我们页面和购物车等页面上次更新的时间,这是没有用的。
例如,这个隐私政策页面现在会显示它最后更新的时间,尽管对于登陆该页面的人来说这是无用的信息(而且主题一开始就没有显示发布日期)。
Some sites don’t need a last updated date on pages like a Privacy Policy.
如果你发现自己处于这种情况,很可能是因为你的主题。一些 WordPress 主题会自动删除页面的最后更新和发布日期,因为没有任何理由。但是你可能最终得到一个没有这些功能的主题。在这种情况下,您所需要的只是简单地添加前面实现的 PHP 代码。
所以,回到你的主题的 functions.php 的文件,在86400
和)
之间添加这个。
&& is_singular('post')
像这样:
function show_last_updated( $content ) {
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400 && is_singular('post')) {
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a');
$custom_content .= '<p class="last-updated-date">Recently updated on '. $updated_date . ' at '. $updated_time .'</p>';
}
$custom_content .= $content;
return $custom_content;
}
add_filter( 'the_content', 'show_last_updated' );
有了这个附加功能,最近更新的日期文本将从每一个 WordPress 文章类型中隐藏,而不是一篇文章(比如页面或产品)。
The date gets stripped from all pages, but remains on posts.
删除发布日期,仅显示最后更新日期
即使在您实现了添加最后更新日期的代码之后,发布日期仍然存在是很常见的。有些主题会删除它,但这并不常见。问题是,现在你有两个日期显示在你的 WordPress 帖子上:发布日期和最后更新日期。
虽然在某些情况下这是可以接受的,但是两个日期很可能会给读者造成混淆。因此,您可能希望隐藏发布日期,但保留最后更新日期。
有插件可以做到这一点,但是 CSS 的修复很简单,所以我们不建议安装一个完整的插件来删除你网站上的一个元素。
要去掉发布日期但保留最后更新的日期(之前从上面的方法中添加的),在 WordPress 仪表盘中进入外观>定制>附加 CSS 。
将此代码粘贴到附加 CSS 字段:
.entry-date {
display: none !important;
}
点击发布按钮,使这些更改生效。
Add CSS in the WordPress Customizer.
您现在应该看到发布日期被删除了,但最后更新的日期仍然显示。
Frontend view of the last updated date still there without the published date.
请记住,尽管.entry-date
CSS 类名在许多主题中都很常见,但并不是所有的主题都使用它。所以,如果这段代码不适合你,很可能是因为你的主题使用了一个不是.entry-date
的类名。
但是 CSS 代码仍然很好,所以你所要做的就是找出你的主题用于发布日期的类名。为此,导航到一篇博客文章的前端,在当前显示的发布日期上右键单击。选择检查选项(这因你的浏览器而异:Chrome 使用检查,Firefox 使用检查元素,对于 Safari 你必须按下 Option 键+ C )
Right click on the date and choose the Inspect option.
这将显示浏览器的开发者工具部分,显示当前页面的编码元素,尤其是您刚刚单击的页面元素的 CSS 代码。
如果你点击了日期,它应该显示为主要元素,但是如果没有,寻找一个用于<time class=
的部分。您的发布日期的 CSS 类应该紧接着出现;这种情况下是entry-date
。但是开发者在创建主题时会使用很多变体,比如post-date
、posts-date
和published-date
。
Look for the “time class=” snippet and the information after it.
仅复制该类(不复制括号或其他元素)。
将代码粘贴到下面的 CSS 片段中,替换掉yourthemes-class-name
。确保在类名前保留句点。
.yourthemes-class-name {
display: none;
}
这应该可以了!
一种快速(但有时是有效的)摆脱发布日期的方法
一个快速和无代码的方法来删除发布日期,但仍然保留最近更新的日期(从前面的方法插入),是通过完全删除 WordPress 通用设置中的日期格式。
在 WordPress 中,进入设置>常规,然后向下滚动到日期格式和时间格式部分。为两者选择自定义选项,并清除每个字段中的示例格式。点击底部的保存更改按钮。
Choose Custom and clear out the fields.
因此,在您的博客帖子(或任何类型的帖子)上不会出现更多的发布日期,然而最后更新的日期仍然存在,只要您已经实现了必要的代码来显示 functions.php 文件中的最后更新日期(如本文前面所示)。
You should see the updated date without the published date on the frontend.
重要的
你所有的文章类型在后台仍然会收到一个“发布”的时间戳,所以你可以在 WordPress 的文章列表中找到那个日期,搜索引擎会记录一个发布日期。然而,您可能会发现这种方法对于某些主题并不适用,尤其是当发布日期中包含了一些额外的文本或图标而被遗漏时。我们的例子实际上留下了一些“已发布”的文本,但幸运的是这并不重要,因为它对“按作者姓名”的文本仍然有意义。我们还注意到,在删除默认设置后,一些主题会重新填充自定义日期格式字段,因此这并不适用于所有人。
方法 2:编辑你的主题模板
主题开发者在主题文件中使用不同的模板来显示信息。大多数情况下,主题模板决定了帖子元数据(如发布日期)在主题上显示的位置和方式。
您可能需要进行一些搜索,但想法是找到负责在前端共享帖子日期和时间的模板(以及该模板中的代码)。同样,开发人员在使用的模板上也有所不同,但是在这些模板中看到发布日期代码是很常见的:
- index.php
- page.php
- single.php
- archive.php
- content.php
- template-tags.php
- template-functions.php
/inc
文件夹中的一个 PHP 文件/post
文件夹中的一个 PHP 文件/content
文件夹中的一个 PHP 文件/excerpt
文件夹中的一个文件/template-parts
文件夹中的一个文件
这取决于开发人员的判断(以及他们自己的风格),因此您必须四处挖掘,找出正确的代码所在的位置,或者找到与上面列出的不同名称的文件。
以下是找到正确主题文件的一些选项:
- 向主题开发人员发送消息,询问哪个主题模板控制帖子发布日期的输出。你也可以在网上或某个主题的用户论坛中完成搜索。
- 检查最常见的主题模板。对于更简单的主题,你可以从index.php、page.php、single.php开始,但大多数现代主题都使用类似于
/template-parts
、/excerpts
和/inc
的文件。 - 使用 FTP 客户端的搜索功能来查找文本实例,如
posted
、time
、date
、get_the_time
或get_the_date
。
对于这个例子,我们使用的是 Twenty Twenty One 主题,我们发现发布的日期代码位于 template-tags.php 的文件中,让您了解主题开发人员没有多少标准化。
注册订阅时事通讯
想知道我们是怎么让流量增长超过 1000%的吗?
加入 20,000 多名获得我们每周时事通讯和内部消息的人的行列吧!
本文件中发布日期的指标包括:
- 对时间类的引用
get_the_date
代码- “已发布”文本
Various indicators to find the file that serves up dates.
当您发现类似的指示符时,请在代码中确定一个区域,以便放置最后更新的日期。通常最好在已经显示发布日期的部分之前或之后插入新代码。
复制这段代码并粘贴到您想要的位置:
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
echo "<p>Last Updated on ";
the_modified_time('F jS, Y');
echo " at ";
the_modified_time();
echo "</p> ";
}
Paste the code into your template file.
使用模板文件往往会花更长的时间来找到正确的文件夹,但它有几个好处,主要是最后更新日期实际上会显示在多个区域中。
其中一个区域就是您插入帖子代码的地方。在这个例子中,我们现在可以在文章的底部看到最后更新的日期和文本,就在发表日期的上方。
The last updated date now shows on each post.
更改主题模板还会在主博客/存档页面上提供最后更新的日期,所有 WordPress 的文章都会按顺序列出。因此,每个更新的帖子都会在列表中显示该日期,让站点访问者更加清楚地了解内容的新鲜程度。
This method also reveals the last updated date on your main Blog/Archive page.
更改上次更新日期出现的位置
主题模板决定了日期如何出现在 WordPress 帖子上,但是它们也决定了日期在帖子上的位置。
由于这取决于主题及其模板结构,您可能会发现一个主题在帖子的顶部显示了发布和最后更新的日期,就在标题的下方,内容的上方。其他主题开发者选择在底部显示日期,比如在作者传记之前,或者甚至在某个独特的地方,比如在侧边栏中。
因此,需要使用主题模板来调整帖子的最后更新或发布日期。有时,这意味着简单地将您在方法 2 中插入的代码移动到同一个 PHP 文件中的其他地方。
其他时候,这个 PHP 文件实际上是一个“模板部分”文件,然后由一个主模板提取,这个主模板组织所有的模板部分,形成文章的格式。
使用我们之前的 Twenty Twenty One 主题示例,很明显,template-tags.php文件只是最终插入到主帖子主题文件中的一小部分。因此,您的工作是询问开发人员哪个主题模板处理帖子格式,或者自己做一些研究。
虽然我们不能保证这适用于每一个主题,但是寻找一个“主”主题模板是一个很好的起点,比如 single.php 的**、content-single.php 的**、甚至是 post.php 的**。**
对于 Twenty Twenty One 主题,我们实际上可以将最后更新的代码插入到 single.php 的或者 content-single.php 的或者 T2 的中,就像 single.php 的如何作为“主”模板文件一样,但是 content-single.php 的是从single.php 的**中提取的模板部分。
Open the content-single.php file, or whichever template part file has the code that displays dates.
要移动最后更新日期的位置,请将方法 2 中提到的代码粘贴到您想要的位置。我们可以看到这个文件有一个header
部分和一个the_content
的片段,所以我们将最后更新的日期代码放在这两个部分之间,将日期从内容下面的默认位置移到内容前面。
Move the code to a suitable position.
在前端,最后更新的日期现在出现在我们想要的位置,您可以从以前的位置(靠近底部)删除重复的日期,或者将它们都留在那里。
The last updated date is now at the top of the post.
在 Astra 主题中添加最后更新日期
由于主题模板的用法(和名称)随着主题的不同而变化,我们将向您展示如何在几个因其多功能设计选项和速度而受欢迎的主题中插入最后更新日期:Astra、Neve 和 Zakra。
第一个是 Astra ,这是一个众所周知的多用途主题,有一个免费的入门模板库。这些起始模板中的每一个都向主题模板目录添加了新文件,但是基本结构保持不变。对于本教程,我们安装了一个初学者模板,现在想在每篇文章的顶部添加一个最后更新日期。
为了让您了解每个主题的不同之处,Astra 主题(及其旅游博客启动模板)在默认情况下甚至不显示发布日期。无论如何,您仍然可以添加最后更新日期。要使用本文中的方法 1 插入日期,请在 FTP 客户端转到/wp-content > /themes > /astra
。打开functions.php文件。
Open functions.php.
将方法 1 代码粘贴到文件的末尾,并保存到您的服务器。结果是最后更新的日期显示在你的博客文章的顶部。
A frontend view of the last updated date in Astra.
使用方法 2,找到名为single-layout.php的主题模板。它位于/astra > /template-parts > /single
下面。
Open the single-layout.php file.
您使用的是相同的代码,但是一些主题模板要求您指定您使用的是 PHP 代码;因此,如果您在前端看到的是代码而不是呈现的日期,请在代码周围添加括号。
`Struggling with downtime and WordPress problems? Kinsta is the hosting solution designed to save you time! Check out our features
它应该是这样的:
<?php
function show_last_updated( $content ) {
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a');
$custom_content .= '<p class="last-updated-date">Recently updated on '. $updated_date . ' at '. $updated_time .'</p>';
}
$custom_content .= $content;
return $custom_content;
}
add_filter( 'the_content', 'show_last_updated' );
将代码片段放在包含the_content
代码的那一行的正上方。
Insert code into single-layout.php.
在 Astra 主题的内容开始之前,保存并上传新文件到服务器会生成一个最近更新的行!
Last updated date result on the frontend of Astra.
在 Neve 主题中添加最后更新日期
Neve 主题很好地提醒了在修改任何代码之前,一定要检查 WordPress 定制器。每个主题都在定制器中添加了自己的设置,所以您可能会发现一个开关,只显示最后更新的日期。Neve 就是这种情况。
要打开 WordPress 中的设置,请转到外观>自定义>布局>博客/档案。点击帖子 Meta 下拉菜单。确保日期在元订单下可见,然后打开选项“使用最后更新的日期而不是发布的日期”
最近的日期会显示在博客页面和每个帖子上。
Neve makes it easy with a Customizer setting.
在 Zakra WordPress 主题中添加最后更新的日期
Zakra 是另一个棘手的问题,你可能会想到去 WordPress 文件中的/template-parts
文件夹,以便找到提供发布日期的代码。然而,正确的位置是在/inc
文件夹中。
要将最后更新日期添加到 Zakra,通过 FTP 客户端连接并转到您站点的/themes
文件夹。然后,导航至/zakra > /inc > template-tags.php
。打开文件进行编辑。
Open the template-tags.php file.
将之前讨论过的代码粘贴在);
(来自get_the_time
函数)和$posted_on = sprintf(
之间。将文件保存回服务器。
Paste the code inside the Zakra theme template.
这个日期现在出现在 Zakra 主题的所有帖子的前端。
The last updated date on the frontend of Zakra.
如果编辑主题设计时仍有问题
正如您在本文中多次注意到的,每个主题都有自己的内置样式、 CSS 代码和 PHP 功能。因此,不可能说出每个主题如何响应我们的示例代码。此外,许多主题已经有了合适的样式,甚至可以显示上次更新的日期,而无需您做任何调整。
不管是哪种情况,处理最后更新日期时出现的大多数问题都是由于硬编码的主题文件,或者文件中的某种唯一性。因此,最好联系你的主题开发者,告诉他你想要达到的目标。他们通常可以提供一个快速的解决方案,为您的特定情况提供合适的 CSS 或 PHP 代码。
方法 3:使用插件
我们建议在依赖插件之前,使用上述方法之一来修改发布日期。这是因为你添加的每一个插件都会产生更多潜在的性能和安全问题;这个特殊的日期变化很小,所以当你所要做的就是编辑 functions.php 的 T2 文件或主题模板时,我们宁愿避免添加插件。
说到这里,你可能会发现上面的方法都不起作用,或者它们没有按照你想要的方式发挥作用。在这种情况下,考虑安装并激活 WP 上次修改信息插件。
这个插件消除了等式中的猜测,允许你添加最后更新日期,调整设置(比如替换发布日期),以及格式化日期的外观和位置。
The WP Last Modified Info plugin.
一旦激活,进入 WordPress 仪表盘中的设置> WP 最后修改信息。在帖子选项页面,打开开关“启用前端帖子/页面”
Enable for Posts and Pages on the frontend.
您也可以选择将显示方法更改为:
- 内容之前
- 内容之后
- 替换发布日期
- 手动(使用短代码)
向下滚动页面,找到其他设置:
- 日期格式
- 时间格式
- 时间间断
You can choose to replace the published date with the last updated date.
保存这些设置,以显示网站前端的最后更新日期。如果有些东西看起来不太对,回到设置,看看是否有什么东西可以修复到你想看到的样子。
A frontend view of what the plugin displays.
该插件还会自动激活页面的最后更新日期。如果你想取消默认设置,回到插件设置,填写“文章类型,显示修改信息”字段。只需在字段中输入“Posts ”,以确保在页面的帖子类型中没有任何更新。设置好所有更改后,务必点击保存设置按钮。
Only show the updated date on Posts.
如何判断 WordPress 文章或页面最后更新的时间
在 WordPress 帖子上显示最近更新的日期是一回事,但是实际查看帖子最后更新的时间呢?毕竟,这是识别你应该修改的旧帖子的重要部分。
此外,查看发布日期和最后更新日期有助于解决您在添加最后更新日期时可能遇到的问题。例如,本文中的大部分代码要求实际上有一个最后更新的日期。这意味着如果帖子没有更新,你将看不到任何日期,直到在后端查找日期时你才知道。
要查看一篇 WordPress 文章或页面最后更新的时间(甚至是在实现上述方法的任何代码之前),你可以转到 WordPress 仪表盘的一个区域。
不幸的是,当你添加文章和页面时,WordPress 不会自动在后台显示修改日期或最后更新日期,即使你实现了我们上面方法中的一些代码。进入 WordPress 中的帖子列表只会显示一个发表日期栏。
There’s only a Published Date column on the backend post list.
帖子和页面编辑也是如此;你可以查看帖子标签,查看发布的日期,但不知道最后一次更新是什么时候。
Only the Published date gets shown by default.
获得 WordPress 中最后更新日期的内置方法
在没有内置显示功能的帮助下,最好打开有问题的帖子,然后点击右边的帖子标签。向下滚动找到一个修改按钮。
- 如果你没有看到修订按钮,这意味着你从来没有更新过它。
- 如果你看到一个修订按钮,点击它。
Click the Revisions button to view the list.
虽然这不能保证找到最后更新的日期,但它让你对这篇文章的活动有了一个很好的了解。
无论你是否发表文章,修改都会被保存到 WordPress 中,所以你可能会有一些修改日志,实际上并不是最后更新的日期。但是您可以查看过去的修订版,根据修订版中的内容,查看哪些是您最近发布的。
每个修订记录了日期和时间,您可以假定这也是最后一次更新的日期。
Check for the Last Modified date within the revisions.
如果您已经从前面的方法中实现了最后更新的日期代码,但是您没有在前端看到日期,这是一个查看帖子是否有更新日期的极好方法;如果没有,代码将不会显示任何内容。
或者使用插件在后端查找最后更新的日期
WP Last Modified Info 插件不仅将最后修改日期添加到前端,还在整个仪表板上创建了列和部分,以便更容易地发现你有一段时间没有更新的帖子。
安装了 WP 最后修改信息插件后,导航到 WordPress 中的帖子列表。插件会自动在日期旁边生成一个名为最后修改日期的新列。
The plugin includes a new backend column for the Last Modified date.
该插件还在帖子编辑器中显示一个名为 Last Updated 的标签,显示每篇帖子的最后更新日期和时间。
The Last Updated tab within the post editor.
Keep your blog posts accurate and up to date with a little help from this guide ✍️Click to Tweet ## 摘要
在本文中,您了解了:
- 如何判断网站上次更新的时间
- 在你的网站上显示最后更新日期的好处
- 如何使用以下方法在 WordPress 中显示最后更新日期:
- 方法一:编辑【functions.php】和你的主题中的 CSS
- **方法二:**编辑主题模板
- 方法 3: 使用类似 WP 上次修改信息的插件
我们还探讨了以下技巧:
- 如何更改上次更新日期的样式
- 如何删除页面和其他非文章的最后更新日期
- 删除发布日期,以便只显示最后更新的日期
- 更改帖子上最后更新日期的显示位置
最后,我们向您展示了如何将最后更新日期添加到几个流行的主题中,包括:
- 二十二十
- 二十二十一
- 阿斯特拉
- 从不
- 扎拉
如果你有任何关于如何在你的 WordPress 网站上显示最后更新日期的问题,请在评论中告诉我们!
让你所有的应用程序、数据库和 WordPress 网站在线并在一个屋檐下。我们功能丰富的高性能云平台包括:
- 在 MyKinsta 仪表盘中轻松设置和管理
- 24/7 专家支持
- 最好的谷歌云平台硬件和网络,由 Kubernetes 提供最大的可扩展性
- 面向速度和安全性的企业级 Cloudflare 集成
- 全球受众覆盖全球多达 35 个数据中心和 275 多个 pop
在第一个月使用托管的应用程序或托管的数据库,您可以享受 20 美元的优惠,亲自测试一下。探索我们的计划或与销售人员交谈以找到最适合您的方式。`**
免费学习 HTML 的最佳方式(以及为什么你应该这样做)
实现你的想法并不总是容易的。
你可能有一个完美的愿景,但是与你的开发者分享它是一个挑战。想法可能会在翻译中丢失,你的网站可能会错失目标。
更糟糕的是,你可能需要在发布前立即编辑,没有时间去找你的开发者。
这就是为什么学习 HTML 如此重要的原因。有了适当的 HTML 知识和技能,你可以熟练地建立和编辑一个网站,使你的愿景成为现实。
这篇文章将向你展示学习 HTML 需要做些什么,以及为什么在你的工具包里有它是至关重要的。
T3】
什么是 HTML?
HTML 代表HyperTextMarkupL语言。它是用于在标准浏览器中显示文档和各种作品的语言。
它被世界各地的企业用来驱动移动应用程序、软件和网站——几乎占所有网站的 92.8%。
学习 HTML 将为你和你的企业带来无数的机会。通过理解基本的 HTML,你将能够编写网站代码和调整脚本。
需要在这里大声喊出来。Kinsta 太神奇了,我用它做我的个人网站。支持是迅速和杰出的,他们的服务器是 WordPress 最快的。
起初,用 HTML 编写可能看起来很复杂。看看在这个 HTML 编辑器中编写的 HTML 代码行:
HTML 是一种独特的编码语言,需要高深的知识。
这可能现在对你来说没有意义,但是一旦你学习了 HTML 课程,你很快就会明白了。
当你学习和理解 HTML 的必要结构时,你将能够很快回忆起 HTML 的快捷方式。
在上面的例子中,您可以看到代码是为 HTML 页面编写的,包括页眉、标题和正文。括号内的标签开始给出文档结构,而实际内容可以添加到它们之间。
总的来说,标签和内容被认为是一个元素。理解 HTML 的第一步是学习所有最常用的标签和它们的作用。
例如,<p>
标签表示一个段落。添加<p>
开始一个新的段落,然后开始像这样键入您的内容:
理解不同的标签如何构成元素是学习 HTML 的关键一步。
所有开始标签都需要一个匹配的结束标签。您可以在标签前使用反斜杠来编写结束标签。例如,要结束一个段落,你可以在内容后面加上</p>
。
这只是一个标签的例子。还有数百种其他标签可以帮助您创建更具活力的项目。将标签放在一起的顺序和方式决定了网页或资源的结构和风格。
一些最受欢迎的标签包括:
<H1>
–第一个页眉文本大小<b>
–加粗文本<i>
–倾斜文本<a href=>
–向文档添加链接<font size="+3">
–将字体增大到特定大小
一旦你开始对 HTML 的研究,这些标签将成为你的第二天性。你将能够准确地回忆起你需要哪一个,而不必去查找它们。
这就是程序员在编写代码时速度如此之快的原因。他们知道标签,也知道如何将它们组合在一起,从而在头脑中创建动态的 HTML 编码资产。
你可能会想,“难道我不能雇人帮我写网站代码吗?”虽然答案是肯定的,但是仍然有很多理由让你学习 HTML。
让我们来看看为什么学习 HTML 是一项有价值的时间投资的几个最重要的原因。
有了正确的 HTML 知识和技巧,你可以熟练地建立和编辑一个网站,让你的愿景成为现实…但是你从哪里开始呢?🤔 点击推文
为什么你应该学习 HTML
简单地说:HTML 是你每天接触的大多数网站的基础。甚至这个网页也是一个 HTML 文档。
它在网络上如此普遍,以至于你至少了解 HTML 结构的基本知识是有意义的。你永远不知道它什么时候会派上用场。
了解这一点将有助于你成为更精明的商人、营销人员、产品开发人员和设计师。
当你理解 HTML 的时候,你可以做很多事情。坚实的 HTML 基础会让你从创建到编辑的过程中,从其他创始人、雇员和竞争者中脱颖而出。
通过理解基本的 HTML,您将能够:
- 构建您自己编码的自定义站点
- 站点上的主机资产
- 考察遗址,了解它们是如何建造的
- 编写其他资产的代码,包括基本软件、应用程序等
- 无需开发人员即可管理网站编辑
随着 HTML 的使用持续增长,决定学习 HTML 从长远来看甚至会有回报。
例如,看一下这个图表,可以看到 HTML 的使用在过去几年中是如何增加的,而 XHTML(一种较老的标记语言)的使用却在减少:
HTML 和 XHTML 语言使用图表
凭借对 HTML 的扎实理解,你可以成为几乎任何职位的候选人。如果你自己是一名企业家,你可以用这些技能来改善你的业务。
谁需要学习 HTML?
如果你发现自己在这个页面上,你很可能是学习 HTML 的优秀候选人——也是将从中受益的人。
在你犹豫不决之前,要知道你的年龄和技能水平并不重要。从创始人到实习生,每个人都会从学习 HTML 中受益。
没有多少人有 HTML 的经验,所以从头开始也没关系。拥抱学习新事物的兴奋,让你的好奇心飙升。
如果你懂 HTML,一个新的世界向你敞开。您可以通过创建响应性网站、应用程序等来实现您的想法。
HTML 将在各种工作职能中帮助人们:
- 营销人员——知道如何改变网站
- 产品开发-编码产品的交互渲染
- 客户服务–帮助查找订单和编码定制信息
- 设计师——在网上发布他们的作品,并了解他们将如何被描绘
- 销售人员–自动过滤潜在客户数据,发送冷邮件等。
- 创始人们对他们的产品或网站进行编辑,并以一种更具体的方式分享他们对 HTML 丰富资源的愿景
正如您所看到的,学习 HTML 有很多好处,并且这些知识可以影响多个不同的业务部门。
你想改变你的日常工作吗?考虑学习 HTML 作为一项新技能,你可以提供给你的公司。
当你理解 HTML 的时候,有很多工作可以做。
T3】
学习 HTML 可以获得哪些工作?
通过学习 HTML,你可以让自己对任何组织都有独特的价值。
让我们面对现实吧:任何组织都需要一个能扑灭网站大火的员工。
你不会在一夜之间成为软件开发人员,但是学习 HTML 会让你走上成为软件开发人员的正确道路。
HTML 编码知识是全世界雇主都需要的专业技能。软件开发人员是最常见的使用 HTML 的工作之一。
在过去的几年里,对软件开发人员的需求不断增长。据估计,到 2024 年将需要 2870 万软件开发人员:
未来几年对软件开发商的需求将持续增长。
如果你学习 HTML,你可以成为很多不同的软件开发者。有了 HTML 技能,你可以得到以下工作:
**对做网页开发者不感兴趣?别担心。有很多其他的工作会从你的 HTML 知识中受益。
HTML 知识将使你成为一个全方位的更有市场的就业前景。你自然会在公司的不同部门找到不同的方法来运用你的技能。
即使只是一点 HTML 的基础知识对任何公司来说都是一笔财富。你将知道人们在谈论什么,以及如何向团队成员解释技术想法。
市场营销、商业智能和产品开发都可以从 HTML 中受益。以下是你可以在这些学科中找到的一些工作:
- 电子邮件营销经理——你可以创建 HTML 格式的电子邮件,这些邮件在视觉上更吸引最终收件人
- 营销运营经理–通常需要 HTML 来添加集成,以确保客户数据的安全传递
- 数据科学/SQL 管理员–您可以运行 HTML 脚本来合成大量数据和模型
- 商业智能管理器–您可以使用 HTML 模块挖掘客户数据中的趋势和见解
- 产品经理——你可以使用 HTML 来构建、测试和编码新产品
如果这些工作听起来很有趣,你应该考虑花时间学习 HTML。但是不要搞错:学习 HTML 可能是一项具有挑战性的任务。
注册订阅时事通讯
想知道我们是怎么让流量增长超过 1000%的吗?
加入 20,000 多名获得我们每周时事通讯和内部消息的人的行列吧!
这可能不是你马上就能理解的事情。相反,你可能必须努力确保你知道你正在学习的新语言的每一个组成部分。
但是对 HTML 有一个像样的理解到底有多难呢?让我们来看看新生应该期待什么。
学 HTML 有多难?
学习 HTML 需要练习,练习,再练习,就像任何新技能一样。
你学习 HTML 的方法应该像你学习一门新语言的方法一样。首先要明白,你是在没有任何先验知识的情况下开始的。即使是最有经验的工人也会感到羞愧。
然而,一旦你意识到你对这种新语言一无所知,你就可以开始钻研并发现它到底是关于什么的。
随着你的学习,HTML 对你来说会变得更加明显,你可以继续一点一点地学习每一课,每一课都会相互叠加。
很快,你就能把复杂的元素放在一起,制作出视觉效果惊人的 HTML 页面和应用程序。
学习 HTML 需要多长时间?
这个过程可能需要一段时间。如果简单的话,大家就都懂 HTML 了。
这确实是一项专业技能,你需要花时间去学习,以确保你慢慢理解一切。
有一些简短的课程可以在几天或一个月内教会你 HTML 的基础知识。然而,你不会一夜之间成为软件开发人员。
彻底理解 HTML 可能需要几个月或几年的时间来了解你需要了解的一切。
想知道如何开始?让我们来看看学习 HTML 的最佳方法。
学习 HTML 的最好方法
学习 HTML 的最好方法是指导练习。它可以在新兵训练营(面对面或在线)或有指导的模块。
一个模块提供了视频教学、讲座和指导练习的组合。有些甚至会在每节课结束时进行测试。
模块是实用的,因为它们使学生能够按照自己的速度学习,并对课程采取动手的方法。
下面是一个正在运行的模块示例:
有了 HTML 模块,你可以自我检查你的工作,确保你是在正确的轨道上。
理想情况下,你可以登录一个模块,学习一门关于 HTML 的课程,然后做一个练习来测试你新开发的技能。
随着时间的推移,这些课程应该相互借鉴。
厌倦了低于 1 级的 WordPress 托管支持而没有答案?试试我们世界一流的支持团队!查看我们的计划
你要确保你学习的媒介提供应用问题来测试你的技能。
它会帮助你理解你正在学习的概念和语言。
现在你知道了如何以及为什么要学习 HTML ,让我们来看看一些你可以免费使用的最好的 HTML 程序。
如何免费学习 HTML
在你的 HTML 教育之旅中,最关键的第一步是选择适合你的项目。
市场上有这么多不同的程序。你应该找到一个适合你的学习方式,并致力于它。
下面,我们列出了一些你可以在学习中使用的最好的免费 HTML 资源。
代码集
代码学院
Codecademy 有许多免费的项目为你提供你需要的技术技能。超过 5000 万学生使用 Codecademy 学习基本的 HTML 和编码。
该公司认为它已经“完善”了学生学习编码的方式。该计划包括三个不同的支柱:边做边学,获得即时反馈,并将所学付诸实践。这些将决定你如何用一种实际的、有指导的方法来发现 HTML。
该公司甚至提供论坛、聊天、章节和活动,以在您的教育之旅中获得更多帮助。你可以通过他们的界面实时聊天,或者在网上论坛发帖提问。
如果你在网上遇到志同道合的人,你甚至可以在一个 Codecademy 认可的活动中结识他们。通过将社区与实践学习结合起来,Codecademy 使自己与众不同。
Learn-HTML.org
【Learn-HTML.org】T2
Learn-HTML.org 是你需要了解的关于 HTML 的一切的可靠来源。Learn-HTML.org 是一个免费的在线模块课程,它将带你一步一步地进入编码的世界。
该网站为 HTML 初学者提供教程,向他们展示如何从头开始构建 HTML 和 CSS 网站。教程从基础开始,随着课程的继续,变得更加密集和复杂。
课程包括基本元素、链接、图像、按钮、导航栏、表单、视频、响应式网页设计、应用缓存、本地存储、拖放等等。
如果你在网站的某个特定元素上需要额外的帮助,这个网站是一个很好的资源。您可以很容易地找到教程,并获得关于您想要构建的特定小部件的有价值的信息。
总装配仪表板
大会破折号
General Assembly Dash 是一个开始学习 HTML 基础知识的热门网站。这个免费的在线课程利用项目来帮助你理解 HTML 的概念。
该计划是优秀的初学者谁想要一个基本的 HTML 概述或中间谁需要一个复习课程。
在同一门课程中,您还将学习 HTML5、CSS3 和 Javascript。它将使您能够制作具有多种布局和用户事件的令人惊叹的网站。
除了这个大会入门课程,你还可以继续深造。该公司提供了大量的教育课程和资源,以更好地了解 HTML 和其他感兴趣的相关主题。
麻省理工学院开放式课程
麻省理工学院开放式课程
麻省理工学院为想从国内领先的技术大学学习的有进取心的学生提供开放式课件课程。这些课程由著名的教师和学生设计,他们为在线内容做出贡献。
这些课程的形式类似于微型在线大学课程。您将能够观看视频讲座,查看课堂笔记,完成作业和项目,查看成绩单,并参加考试来测试您的技能。
完成后,您可以查看解决方案并了解自己的表现。这是一个很好的资源来补充你的 HTML 研究。像大学里教授的内容和付费课程一样,这些内容对学生是免费的。
你应该从 HTML 中学到什么
一旦你学会了 HTML,你的 web 开发教育就不会停止。要增强你的 HTML 知识并让它变得更有用,还有很多东西需要学习。
你还应该学习的另外两种语言包括 CSS 和 Javascript 。
CSS(或层叠滑动表单)是一种编程语言,它更关注文档的风格,而不是像 HTML 那样的简单结构。
总之,CSS 和 HTML 的知识可以让你成为一个熟练的开发人员。
Javascript 是另一种编程语言,你应该学习它来提高你的技能。它是一种编程语言,可以让你制作动态内容。您可以制作动画图像或让不同的多媒体元素在屏幕上飞舞。
Javascript 将使任何网站更吸引终端用户,并有可能增加他们在你的网站上的时间。
HTML 是你的网络工具包中至关重要的一部分,学习它很容易(而且是免费的!😄)借助本指南⬇️ 点击推文
摘要
学习 HTML 感觉像是一项事业。你需要了解你想要完成的基本内容,并找到满足你需求的合适项目。
通常,你会感觉像在学习一门全新的语言。这就是为什么花时间对正确的项目进行适当的投资是如此重要。
幸运的是,市场上的许多免费选项可以通过课程、教程和指导模块帮助你成为 HTML 专业人员。无论你选择哪一个,你都将很快开启 HTML 的秘密。
学完了 HTML?这只是你 web 开发之旅的开始。通过阅读我们关于学习的最佳编程语言的帖子来进一步了解。
让你所有的应用程序、数据库和 WordPress 网站在线并在一个屋檐下。我们功能丰富的高性能云平台包括:
- 在 MyKinsta 仪表盘中轻松设置和管理
- 24/7 专家支持
- 最好的谷歌云平台硬件和网络,由 Kubernetes 提供最大的可扩展性
- 面向速度和安全性的企业级 Cloudflare 集成
- 全球受众覆盖全球多达 35 个数据中心和 275 多个 pop
在第一个月使用托管的应用程序或托管的数据库,您可以享受 20 美元的优惠,亲自测试一下。探索我们的计划或与销售人员交谈以找到最适合您的方式。**