luminarix / laravel-web-tinker
一个小型的Laravel包,用于在浏览器中使用Tinker
v1.0.0
2024-07-08 06:23 UTC
Requires
- php: ^8.3
- illuminate/contracts: ^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.15
- nunomaduro/collision: ^8.1.1
- orchestra/testbench: ^9.0.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
README
此包允许您在浏览器中使用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页面。
授权
如果您想在其他环境中运行此包(我们不推荐这样做),您必须执行以下两个步骤。
- 您必须在
AuthServiceProvider
中注册一个viewWebTinker
能力。一个不错的选择是在Laravel提供的AuthServiceProvider
中做这件事。
public function boot() { $this->registerPolicies(); Gate::define('viewWebTinker', function ($user = null) { // return true if access to web tinker is allowed }); }
- 您必须将
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)。有关更多信息,请参阅许可证文件。