当前位置:首页 > 编程语言 > 正文内容

20个更佳Laravel软件包(性能优化、安全增强和SEO等 )

a8116255311个月前 (03-21)编程语言11

你是否感觉过在你的 Laravel 项目中,你总是在为常见的任务编写相同的代码?从头开始构建功能既耗时,又影响开发速度。

解决方案就在于 Laravel 软件包–预构建的、可重复使用的代码模块,可以解决常见的功能问题。这些软件包可以简化工作流程,提高安全性,并增强应用程序的功能。

本文是 Laravel 软件包的一站式指南。我们将探讨包的类型,了解 Package 与 Bundle 的区别,并揭晓一份精选的更佳 Laravel 包列表,以便更快地构建应用程序。

什么是Laravel Package?

Laravel 软件包(Package)就像一个工具箱,里面装满了各种开发任务所需的专业工具。

它是一个预构建的、可重复使用的代码模块,用于处理 Laravel 应用程序中的特定功能。软件包省去了一切从头开始的过程,从而节省了时间,让你可以专注于应用程序的核心功能。

Package与Bundle

虽然这两个术语经常互换使用,但它们之间还是有细微的差别。

特性 Package Bundle
起源 由社区或第三方开发 由 Laravel 核心团队开发
包含 默认不包括 包含在新安装的Laravel中
示例 Debugbar, Socialite Authentication, Caching

Laravel软件包的类型

Laravel 软件包分为两大类:独立于框架的软件包和特定于框架的软件包。

1. 独立框架

这些软件包专为 Laravel 设计。它们利用 Laravel 的特性、惯例和架构,为 Laravel 应用程序提供量身定制的功能。例如身份验证包或缓存扩展。

2. 特定框架

这些软件包与 Laravel 无关,可用于任何 PHP 项目,与框架无关。它们提供的功能与 Laravel 的架构无关,因此可以在各种 PHP 项目中通用。例如数据库访问库或表单验证工具。

更佳Laravel软件包列表

下面是基于功能的更佳 Laravel 软件包列表:

类别 包名称 描述
开发 Laravel Debugbar 添加用于调试的开发人员工具栏。
Laravel User Verification 处理用户验证并验证电子邮件。
Socialite 支持通过社交 *** (如 Facebook、Google)登录。
Laravel Mix 基于 Webpack 的资产编译工具。
Eloquent-Sluggable 为模型生成利于搜索引擎优化的语法。
Migrations Generator 根据数据库模式自动生成迁移文件。
Laravel Backup 创建应用程序文件和数据库备份。
Laravel IDE Helper 改善开发人员在集成开发环境中的使用体验(自动完成、类型提示)。
安全 Entrust 为您的应用程序提供基于角色的权限。
No Captcha 执行 Google reCaptcha 验证,防止垃圾邮件。
管理面板 Voyager 用于创建管理面板的可视化生成器
LaraAdmin 开源管理面板和 CRUD 生成器。
Orchid 用于构建管理界面和仪表盘的开源工具包。
电子商务 Bagisto 开源 Laravel 电子商务包。
AvoRed 具有移动友好界面的开源 Laravel 购物车。
SEO Laravel meta Manager 管理网站元标签,搜索引擎优化。
SEOTools 根据更佳实践优化网站搜索引擎优化。
Laravel-SEO 插入、管理和删除网站元标签。
调试 Laravel Telescope 深入了解请求、异常、日志等情况。
测试 Orchestral Testbench 帮助编写 Laravel 软件包测试。

Laravel开发软件包

这些开发包通过调试、资产编译和代码生成工具,帮助你简化开发工作流程。

1. Laravel Debugbar

苦于无法识别 Laravel 应用程序中的 bug?那就试试 吧!这个必不可少的软件包添加了一个开发者工具栏,让你实时了解应用程序的性能。

Debugbar 可以显示所有数据库查询、渲染模板和传递参数。它甚至还能让你添加自定义信息,方便调试。有了 Laravel Debugbar,你可以少花时间猜测,多花时间构建。

Debugbar::info($object);
Debugbar::error('Error!');
Debugbar::warning('Watch out…');
Debugbar::addMessage('Another message', 'mylabel')

2. Laravel User Verification

软件包通过处理电子邮件验证和确认,简化了用户入职流程。它可以灵活定制电子邮件模板、验证逻辑和用户体验,以完美地满足您的应用需求。

此外,该软件包与 Laravel 的身份验证和通知系统无缝集成,为您节省开发时间和精力。

public function register(Request $request)
{
   $this->validator($request->all())->validate();
   $user = $this->create($request->all());
   event(new Registered($user));
   $this->guard()->login($user);
   UserVerification::generate($user);
   UserVerification::send($user, 'My Custom E-mail Subject');
   return $this->registered($request, $user)
       ?: redirect($this->redirectPath());
}

3. Socialite

告别复杂的社交登录设置!由 Laravel 团队自行开发的 提供了一个简单易用的解决方案。用户可以使用Facebook、Google 和 Twitter 等流行平台登录。

Socialite 与 Laravel 的身份验证系统无缝集成,在引擎盖下处理 OAuth 的复杂性。这样,你就可以专注于核心功能,同时利用安全的社交登录。

$user = Socialite::driver('github')->user();
// OAuth Two Providers
$token = $user->token;
$refreshToken = $user->refreshToken; // not always provided
$expiresIn = $user->expiresIn;
// All Providers
$user->getId();
$user->getName();
$user->getEmail();
$user->getAvatar();

4. Laravel Mix

使用 提升你的开发工作流程,它是 Laravel 项目的资产编译工具。它是 Laravel Elixir 的继承者,提供了一个简洁而强大的 API,能以更有效的方式定义构建步骤。

Laravel Mix 与 Webpack 无缝集成,让你可以利用热模块替换(HMR)和浏览器同步。无需手动重新加载,即可立即看到变化,从而节省宝贵的开发时间。

mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css');

5. Eloquent-Sluggable

厌倦了手动创建 SEO 友好型 URL 吗?Laravel 可自动完成这一过程!这个便捷的工具可以根据你的模型属性生成独特的 slugs,为你的 Laravel 应用程序创建简洁、搜索引擎友好的 URL。

Eloquent-Sluggable 为 slug 字段、分隔符和更新行为提供了自定义选项。此外,它还为处理特殊情况和集成您自己的逻辑提供了钩子,确保您的 URL 始终处于优化状态。

class Post extends Eloquent
{
   use Sluggable;
   protected $fillable = ['title'];
   public function sluggable() {
       return [
           'slug' => [
               'source' => ['title']
           ]
       ];
   }
}
$post = new Post([
   'title' => 'My Awesome Blog Post',
]);
// $post->slug is "my-awesome-blog-post

6. Migrations Generator

在 Laravel 中苦于手动创建数据库迁移? 软件包可以帮到你!这款省时工具可以分析你现有的数据库模式,并自动生成迁移文件。

专注于构建你的应用逻辑,而不是编写迁移文件。只需运行提供的命令,就能一次性生成所有数据库表的迁移文件。让 Laravel Migrations Generator 来处理繁重的工作吧!

php artisan migrate:generate

您还可以只选择要迁移的某些表:

php artisan migrate:generate table1,table2

7. Laravel Backup

不要冒丢失宝贵数据的风险! 软件包通过创建备份来保护您的应用程序。它可以压缩你选择的目录和数据库,确保你的项目有一个完整的快照。

只需一条命令,就能创建项目的完整快照,包括文件和数据库。这简化了备份过程,并确保应用程序的安全可靠。

php artisan backup:run

8. Laravel IDE Helper

用 软件包为你的 Laravel 编程增光添彩!这款必备工具可增强你的集成开发环境(如 PhpStorm、VS Code)体验,具有自动补全和专门针对 Laravel 组件的类型提示等功能。

不再需要手动查找!在可用 *** 和参数方面获得即时建议和明确指导。此外,该软件包还能生成文档注释,让浏览 Laravel API 变得轻而易举,一切都在你熟悉的集成开发环境中进行。

Laravel安全软件包

这些安全软件包可帮助您利用用户身份验证、基于角色的权限和 reCAPTCHA 集成等功能增强应用程序的安全性。

9. Entrust

通过 ,您可以定义用户角色,并为每个角色分配特定权限。这可确保用户只能访问与其角色相关的功能,从而提高应用程序的安全性。

该软件包创建了以下四个表:

  • 角色表,用于存储角色记录
  • 权限表,用于存储权限记录
  • role_user 表,用于存储角色和用户之间的一对多关系
  • permission_role 表,用于存储角色和权限之间的多对多关系。

执行以下代码即可创建角色:

$admin = new Role();
$admin->name = 'admin';
$admin->display_name = 'User Administrator'; // optional
$admin->description  = 'User is allowed to manage and edit other users'; // optional
$admin->save();

让我们来看看如何为用户分配角色,

user = User::where('username', '=', 'michele')->first();
$user->attachRole($admin);

现在,您必须为这些角色赋予权限:

$createPost = new Permission();
$createPost->name         = 'create-post';
$createPost->display_name = 'Create Posts';
$createPost->description  = 'create new blog posts';
$createPost->save();
$admin->attachPermission($createPost);

10. No Captcha

使用 保护你的 Laravel 表单免受自动机器人的攻击!这个软件包集成了谷歌的 reCaptcha 验证,为您的表单增添了一层额外的安全保障。只需获取一个免费的 API 密钥,剩下的就交给 No Captcha 处理吧。

此外,No Captcha 还提供验证码小部件的定制选项,确保它与您的表单设计完美融合,不会破坏用户体验。使用No Captcha,关注真实用户,而不是机器人。

NoCaptcha::shouldReceive('verifyResponse')
   ->once()
   ->andReturn(true);
$response = $this->json('POST', '/register', [
   'g-recaptcha-response' => '1',
   'name' => 'Pardeep',
   'email' => 'pardeep@example.com',
   'password' => '123456',
   'password_confirmation' => '123456',
]);

Laravel管理面板软件包

这些管理面板包可帮助您快速构建用户友好的管理界面,以管理应用程序的后台。

11. Voyager

创建美观实用的管理面板是一件费时费力的事情。 是一个 Laravel 软件包,它以简洁、用户友好的界面简化了这一过程。

这个文档齐全的软件包包括一个简洁的前端主题、用于测试的虚拟数据和一个功能强大的媒体管理器。快速上手,专注于构建 Laravel 应用程序的核心功能。

12. LaraAdmin

是一款面向 Laravel 开发人员的免费开源软件。该软件包具有用户管理、基于角色的访问控制和动态菜单等功能,可简化管理面板的创建。

还提供具有排序、过滤和分页功能的可定制数据表,让你轻松管理复杂的数据集。减少创建管理界面的时间,把更多时间花在核心功能上!

13. Orchid

使用 为创建 Laravel 管理面板增添动力!这个开源工具包提供了灵活、可扩展的设计,让你可以根据项目需求构建用户友好的界面。

不仅仅是基本的管理面板,还是 *** 应用程序的核心系统。将其视为 CMS 或 CMF 基础,可简化 Laravel 应用程序中的内容和用户管理。

Laravel电子商务软件包

这些电子商务软件包可帮助您启动网店开发,并提 *** 品管理、购物车和支付网关等功能。

14. Bagisto

是一款开源的 Laravel 电子商务软件包,很快吸引了 Laravel 社区的目光。它提供开箱即用的 Laravel 用户管理、多仓库库存管理选项等。

此外,该 Laravel CMS 软件包还捆绑了内置的用户友好型管理面板导航,并提供多币种、本地化、访问控制级别、多渠道、支付集成等功能。

15. AvoRed

可让您根据需要轻松定制开源 Laravel 购物车。它默认提供移动友好界面布局,还包含更佳 Laravel SEO 软件包。

AvoRed 允许你创建类别、属性等产品实体,并具有高效的订单跟踪、客户信息、库存管理等订单管理功能。

Laravel SEO软件包

这些 SEO 软件包通过管理元标签、网站地图和结构化数据,帮助你优化应用程序,使其更适合搜索引擎。

16. Laravel Meta Manager

通过 ,您可以优化网站的搜索引擎优化,提高网站在 SERP 上的排名。它强调应用程序的 Meta 标签,并允许您根据更佳搜索引擎优化实践对其进行修正。

软件包附带推荐的元标签,包括标准搜索引擎优化、Dublin Core、Google Plus、Facebook Open Graph 等。配置完成后,将生成的元标签添加到所需页面的头部。

@include('meta::manager')

上文将使用预定义配置来预填生成的元标记。不过,如果您要临时定义某些选项,可以使用下面的代码。

@include('meta::manager', [
    'title'         => 'My Example Title',
    'description'   => 'This is my example description',
    'image'         => 'Url to the image',
])

示例:

<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        @include('meta::manager', [
            'title'         => 'My Example Title',
            'description'   => 'This is my example description',
            'image'         => '',
        ])
    </head>
    <body>
    </body>
    </html>

17. SEOTools

允许你根据更佳 SEO 实践优化 Laravel SEO。它提供出色的网站优化功能,并同时支持 Laravel 和 Lumen 框架。

该软件包具有用户/初学者友好的界面,因此很容易集成到项目中。它还可以为 Twitter 和 Open Graph 设置标题和元标签。

18. Laravel-SEO

使用 控制你的 Laravel 应用程序的搜索引擎优化!这个软件包简化了元标签管理,让你轻松插入、编辑和删除元标签。

它甚至还能让你添加结构化数据,以增强搜索引擎结果。轻松管理 Open Graph 和 Dublin Core 等常用元标签,优化 Laravel 应用程序的可见性和排名潜力。

Laravel调试软件包

这些调试包可帮助你利用调试工具和性能剖析器深入了解应用程序的行为。

19. Laravel Telescope

是你调试 Laravel 应用程序的秘密武器。这款功能强大的调试器能揭示引擎盖下发生的一切。它可以跟踪传入的请求、异常、日志、数据库查询等,还能实时洞察应用程序的行为,帮助你准确定位并高效修复 Bug。这使得 Telescope 成为任何在本地开发环境中工作的 Laravel 开发人员的必备工具。

Laravel测试软件包

这些测试软件包可通过建立健全的单元测试和集成测试,帮助你提高代码质量和可维护性。

20. Orchestral Testbench

在编写 Laravel 软件包时,你的软件包无法使用 Laravel 的所有测试助手。因此,如果你想把你的软件包测试写成一个典型的 Laravel 应用程序,你可以使用 软件包。

  1. 为新软件包设置 Composer.json 文件
  2. 添加服务提供者
  3. 设置别名
  4. 创建 Facade 类

以上是编写 Laravel 软件包必须掌握的四个重要步骤,可以帮助你加快开发进程。

小结

本博客列出了更佳 Laravel 软件包,帮助你优化项目的生产力。

选择合适的 Laravel 软件包主要取决于你的项目需求。由于Laravel为开发者提供了执行自定义操作的便利,你可以使用这些软件包高效地执行功能任务。

如果你想推荐更多的 Laravel 软件包,欢迎在下面的评论中与我们分享。

常见问题

问:哪个版本的 Laravel 更好?

答: 最新的 Laravel 稳定版本通常是更好的,因为它包含了最新的功能、安全补丁和性能改进。

问:如何选择更好的 Laravel 软件包?

答: 选择 Laravel 软件包时,要评估它与你的 Laravel 版本的兼容性、文档质量、社区支持和更新频率。

问:哪种 Laravel 软件包更好?

答: 流行的 Laravel 软件包包括用于角色管理的 Spatie’s Laravel Permission、用于队列监控的 Laravel Horizon 和用于高级脚手架的 Laravel Jetstream。

问:更好的 Laravel 社区软件包有哪些?

答: 一些更好的社区软件包包括 Spatie Laravel Backup、Laravel Debugbar、Telescope 和 Livewire,用于提高开发效率和应用程序功能。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/8286.html

分享给朋友:

“20个更佳Laravel软件包(性能优化、安全增强和SEO等 )” 的相关文章

宝塔面板教程之文件管理篇

宝塔面板教程之文件管理篇

宝塔面板其中一个最为便捷的功能之一,无需SFTP或者FTP即可对服务器的文件内容进行上传、下载、编辑及删除等管理操作。 文件管理,用于管理该服务器上的文件内容。 文件的基础操作 文件的基础操作有哪些了,主要有这些方面:复制、粘贴、剪切、删除、重命名、压缩、刷新、新建文件、新建目录。...

27个学习PHP的最佳教程(免费和付费资源)

27个学习PHP的最佳教程(免费和付费资源)

对于初学者和那些刚刚进入WordPress开发的人来说,PHP是您可以开始的最佳起点之一。这是一种超级简单直接的语言,使其成为之一,因此相当容易上手,它构成了在线开发的支柱。另外,如果你想在WordPress后端工作,你肯定需要学习它。 但是,如果您不想在昂贵的大学课程上花费数月或数年时间怎么...

2022年PHP开发人员的平均工资统计报告

2022年PHP开发人员的平均工资统计报告

PHP开发:有些人认为它是,另一些人认为它是一种过时的技术,不值得花时间学习。但是这些数字说明了什么,尤其是当您查看PHP开发人员的薪水时? 虽然肯定有许多更新、更炫、更令人兴奋的语言,但PHP仍然是后端Web开发的可靠主食,也是许多雇主仍在寻找的技能。 有兴趣自己成为PHP开发人员吗?我们...

WordPress开发人员薪酬水平研究报告

WordPress开发人员薪酬水平研究报告

薪水可能是某些人的禁忌话题,但如果您是WordPress开发人员,或者正在考虑从事WordPress开发工作,那么了解人们的收入对于最大化您自己的赚钱能力至关重要。 所以让我们谈谈这个秘密——让我们谈谈WordPress开发人员的平均工资。这样,您将确切地知道自己的价值(以及如何赚取更多)。...

PHP 8.2年内将发布,一起来看看都有什么新特征

PHP 8.2年内将发布,一起来看看都有什么新特征

PHP 8.2预计将于今年11月发布,最新的稳定版本是PHP 8.1.5。虽然现在还为时过早,但对更新的接受程度参差不齐。 但是,知道会发生什么可以帮助您。通过了解新功能和不推荐使用的功能,您可以了解更新可能如何影响开发。这些知识还可以帮助您为最终发布做好准备。 在这篇文章中,我们将回顾最新...

什么是NGINX网络服务器?

什么是NGINX网络服务器?

Web服务器负责使浏览器和用户可以访问您的网站。您可能以前听说过,但您可能不知道它是什么或它是如何工作的。幸运的是,我们为这个流行的服务器软件整理了一份快速指南。 在这篇文章中,我们将介绍NGINX的基础知识。我们将看看它是什么,它与其他Web服务器有何不同,以及它是如何工作的。我们还将讨论它...