ttbooking/laravel-web-tinker

在浏览器中使用 Artisan Tinker

安装: 4

依赖者: 0

建议者: 0

安全: 0

星级: 0

关注者: 1

分支: 67

语言:JavaScript

1.7.7 2020-09-28 11:00 UTC

README

Latest Version on Packagist GitHub Workflow Status Total Downloads

Artisan 的 tinker 命令是你在终端中与你的应用程序交互的好方法。但是运行几行代码、进行编辑和粘贴代码可能会很麻烦。在浏览器中交互不是很好吗?

此包将添加一个路由到你的应用程序,你可以尽情地交互。

Web tinker light

如果你觉得光线太刺眼,还有暗黑模式。

Web tinker dark

支持我们

通过观看我们的付费视频课程学习如何创建这样的包

Laravel Package training

我们投入了大量资源来创建最好的开源包。你可以通过购买我们的付费产品之一来支持我们。

我们非常感谢你从家乡寄给我们明信片,说明你正在使用我们哪个包。你可以在我们的联系页面找到我们的地址。我们将把所有收到的明信片发布在我们的虚拟明信片墙上

🚨 警告 🚨

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

安装

你可以通过 composer 安装此包

composer require spatie/laravel-web-tinker --dev

接下来,你必须运行以下命令来发布此包的资源。

php artisan web-tinker:install

可选地,你可以发布此包的配置文件。

php artisan vendor:publish --provider="Spatie\WebTinker\WebTinkerServiceProvider" --tag="config"

这是将要发布到 config/web-tinker.php 的内容

return [

    /*
     * Possible values are 'auto', 'light' and 'dark'.
     */
    'theme' => 'auto',

    /*
     * By default this package will only run in local development.
     * Do not change this, unless you know what your are doing.
     */
    'enabled' => env('APP_ENV') === 'local',

   /*
    * This class can modify the output returned by Tinker. You can replace this with
    * any class that implements \Spatie\WebTinker\OutputModifiers\OutputModifier.
    */
    'output_modifier' => \Spatie\WebTinker\OutputModifiers\PrefixDateTime::class,

    /*
     * If you want to fine-tune PsySH configuration specify
     * configuration file name, relative to the root of your
     * application directory.
     */
    'config_file' => env('PSYSH_CONFIG', null),

];

使用

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

访问你应用程序的本地环境中的 /tinker 以查看 tinker 页面。

授权

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

  1. 你必须注册一个 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 配置文件的 output_modifier 键中指定输出修改器来修改 tinker 的输出。输出修改器是实现了 \Spatie\WebTinker\OutputModifiers\OutputModifier 的任何类。

这个接口看起来是这样的。

namespace Spatie\WebTinker\OutputModifiers;

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

此包的默认安装将使用 PrefixDataTime 输出修改器,该修改器将在 Tinker 的输出前添加当前日期和时间。

测试

composer test

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

贡献

请参阅CONTRIBUTING 了解详细信息。

安全

如果你发现任何安全问题,请通过电子邮件 freek@spatie.be 而不是使用问题跟踪器。

致谢

本软件包受到nova-tinker-tool软件包的启发,并使用了其中的一些代码,该软件包由Marcel Pociot开发。

许可证

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