laravel 10中提供应用程序功能标志推荐包:Laravel Pennant
Laravel  /  管理员 发布于 2年前   435
Laravel Pennant 是由 Laravel 团队创建的一个包,它将随 Laravel 10 一起提供,为您的应用程序提供功能标志。
功能标志使您能够自信地逐步推出新的应用程序功能、A/B 测试新的接口设计、补充基于主干的开发策略等等。
相关文档:
https://laravel-news.com/laravel-10 https://laravel.com/docs/10.x/pennant
此软件包是官方提供的一系列软件包中的最新成员,意味着我们现在拥有了一个构建良好且经过良好测试的包,为我们提供了一些强大的功能。
分解包的功能,我们可以了解这个包给我们提供了什么。
您可以简单的使用您的 AppServiceProvider 去创建新功能。
如下所示:
public function boot(): void
{
Feature::define('beta-testers', fn (User $user) => match (true) {
$user->isBetaTester() => true, default => false,
});
}这是在你的应用中定义功能的一种非常干净和简单的方式。
但是,你也可以使用基于类的方法来实现功能:
class BetaTesters
{
public function resolve(User $user): mixed
{
return match (true) {
$user->isBetaTester() => true,
default => false,
};
}
}翻阅文档,我发现有很多可以使用的方式。
让我们来看看文档中的一个示例,看看可以对它做些什么。
class PodcastController
{
public function index(Request $request): Response
{
return Feature::when(NewApi::class,
fn () => $this->resolveNewApiResponse($request),
fn () => $this->resolveLegacyApiResponse($request),
);
}
}继续看,这是一个有版本的 API - 你可以根据用户是否具有访问权限来控制请求的去向。
让我们扩展一下这个例子。
class PodcastController
{
public function __construct(
private readonly RedirectAction $action,
) {}
public function index(Request $request): Response
{
return Feature::when(BetaTester::class,
fn () => $this->action->handle('v2'),
fn () => $this->action->handle('v1'),
);
}
}我们可以根据用户是否是 Beta 测试人员,使用我们的操作重定向到正确的 API 路由。
我们可以将其移动到更高的中间件层,以使其更简单。
class VersionMiddleware
{
public function handle(Request $request, Closure $next): mixed
{
if (Feature::active('beta-tester')) {
return new RedirectResponse(
uri: 'generate the url here',
);
}
return $next($request);
}
}正如你可以想象的那样,你可以用 此软件包 做什么只会受限于你的想象力。
我迫不及待地想使用这个软件包,看看它能为我的应用程序添加哪些改进。
转:
https://laravel-news.com/laravel-pennant
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号
