luminarix / laravel-web-tinker

一个小型的Laravel包,用于在浏览器中使用Tinker

资助包维护!
luminarix

安装次数: 1,393

依赖项: 0

建议者: 0

安全: 0

星标: 2

关注者: 1

分支: 0

开放问题: 0

语言: TypeScript

v1.0.0 2024-07-08 06:23 UTC

This package is auto-updated.

Last update: 2024-09-10 01:04:56 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

此包允许您在浏览器中使用Tinker。深受Spatie的 Laravel Web Tinker 启发,但增加了功能,并具有React前端。

🚨 谨慎之词 🚨

此包可以运行任意代码。除非您知道自己在做什么,否则您永远不应该在生产环境或任何处理真实世界数据的环境中安装或使用此包。

已知问题

  • 无。请报告您发现的任何问题。

要求

  • PHP ^8.3
  • Laravel ^11.0

额外功能

  • 多代码片段标签页
    • 标签页可以重命名
    • 标签页有自己独立的代码历史记录
    • 上述两者都保存在本地存储中,因此它们在会话和页面刷新之间持续存在
  • 在加载时显示运行时计数器,在最终输出中显示总运行时间
  • 代码运行时显示加载状态

安装

如果您之前使用过Spatie的Laravel Web Tinker,请在安装此包之前删除config/web-tinker.php文件。

您可以通过composer安装此包

composer require luminarix/laravel-web-tinker

发布资产

php artisan vendor:publish --tag="laravel-web-tinker-assets"

您可以使用以下方式发布配置文件

php artisan vendor:publish --tag="laravel-web-tinker-config"

可选地,您可以使用以下方式发布视图

php artisan vendor:publish --tag="laravel-web-tinker-views"

或者,如果您想一次性发布所有内容,可以使用

php artisan laravel-web-tinker:install

使用

默认情况下,此包仅在本地环境中运行。

访问您的应用本地环境的/tinker以查看Tinker页面。

授权

如果您想在其他环境中运行此包(我们不推荐这样做),您必须执行以下两个步骤。

  1. 您必须在AuthServiceProvider中注册一个viewWebTinker能力。一个不错的选择是在Laravel提供的AuthServiceProvider中做这件事。
public function boot()
{
    $this->registerPolicies();

    Gate::define('viewWebTinker', function ($user = null) {
        // return true if access to web tinker is allowed
    });
}
  1. 您必须将web-tinker配置文件中的enabled变量设置为true

修改输出

您可以通过在web-tinker配置文件中指定输出修饰符来修改Tinker的输出。输出修饰符是实现了\Luminarix\LaravelWebTinker\OutputModifiers\OutputModifier的任何类。

此接口看起来是这样的。

namespace Luminarix\LaravelWebTinker\OutputModifiers;

interface OutputModifier
{
    public function modify(string $output = ''): string;
}

此包的默认安装将使用PrefixDataTime输出修饰符,它将Tinker的输出前缀为当前日期时间和代码的运行时间。

测试

composer test

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件