All Projects → spatie → Laravel Web Tinker

spatie / Laravel Web Tinker

Licence: mit
Tinker in your browser

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Laravel Web Tinker

Laravel Tinker Server
Tinker with your variables while working on your Laravel application
Stars: ✭ 203 (-69.43%)
Mutual labels:  laravel, tinker
Debugo
一个可能有点用的 iOS 调试工具~
Stars: ✭ 258 (-61.14%)
Mutual labels:  tool, debug
Laravel Zero
A PHP framework for console artisans
Stars: ✭ 2,821 (+324.85%)
Mutual labels:  laravel, tool
Laravel Api Debugger
Easy debug for your JSON API.
Stars: ✭ 175 (-73.64%)
Mutual labels:  laravel, debug
Tinx
⛔️ Laravel Tinx is archived and no longer maintained.
Stars: ✭ 437 (-34.19%)
Mutual labels:  laravel, tinker
Laravel Migrate Fresh
An artisan command to build up a database from scratch
Stars: ✭ 179 (-73.04%)
Mutual labels:  laravel, debug
ignition-tinker-tab
An Ignition tab to tinker with your Laravel app
Stars: ✭ 30 (-95.48%)
Mutual labels:  debug, tinker
Nova Tail Tool
A Laravel Nova tool to display the application log
Stars: ✭ 110 (-83.43%)
Mutual labels:  laravel, tool
Laravel Sketchpad
An innovative front-end environment for interactive Laravel development
Stars: ✭ 302 (-54.52%)
Mutual labels:  laravel, tinker
Ray
Debug with Ray to fix problems faster
Stars: ✭ 263 (-60.39%)
Mutual labels:  laravel, debug
Laravel Nova Nested Form
This package allows you to include your nested relationships' forms into a parent form.
Stars: ✭ 169 (-74.55%)
Mutual labels:  laravel, tool
Comtool
Cross platform Serial Assistant ( 跨平台 串口 调试 助手 串口助手 串口调试助手 linux windows mac Raspberry Pi )
Stars: ✭ 524 (-21.08%)
Mutual labels:  tool, debug
Laravel Mailable Test
An artisan command to easily test mailables
Stars: ✭ 143 (-78.46%)
Mutual labels:  laravel, debug
Webloyer
Webloyer is a web UI for managing Deployer deployments
Stars: ✭ 199 (-70.03%)
Mutual labels:  laravel, tool
Laravel Artisan Dd
Quickly run some code via Artisan
Stars: ✭ 136 (-79.52%)
Mutual labels:  laravel, debug
laravel-live-tinker
Laravel tinker in your browser with code highlight
Stars: ✭ 51 (-92.32%)
Mutual labels:  debug, tinker
Nova Custom Email Sender
A Laravel Nova tool that sends ad-hoc email messages from the dashboard.
Stars: ✭ 62 (-90.66%)
Mutual labels:  laravel, tool
Laravel Cadillac
🍺 A database tool for laravel.
Stars: ✭ 63 (-90.51%)
Mutual labels:  laravel, tool
Nova Backup Tool
A Laravel Nova tool to backup your app
Stars: ✭ 260 (-60.84%)
Mutual labels:  laravel, tool
Laravelfly
To be an absolutely safe solution to speed up Laravel with Swoole. Preloading + Coroutine and Tinker Online.
Stars: ✭ 459 (-30.87%)
Mutual labels:  laravel, tinker

Artisan Tinker in your browser

Latest Version on Packagist GitHub Workflow Status Total Downloads

Artisan's tinker command is a great way to tinker with your application in the terminal. Unfortunately running a few lines of code, making edits, and copy/pasting code can be bothersome. Wouldn't it be great to tinker in the browser?

This package will add a route to your application where you can tinker to your heart's content.

Web tinker light

In case light hurts your eyes, there's a dark mode too.

Web tinker dark

Support us

We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.

🚨 A word to the wise 🚨

This package can run arbitrary code. Unless you know what you are doing, you should never install or use this in a production environment, or any environment where you handle real world data.

Installation

You can install the package via composer:

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

Next, you must publish the assets from this package by running this command.

php artisan web-tinker:install

Optionally, you can publish the config file of the package.

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

This is the content that will be published to config/web-tinker.php

return [

    /*
     * The web tinker page will be available on this path.
     */
    'path' => '/tinker',

    /*
     * 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),
];

Usage

By default this package will only run in a local environment.

Visit /tinker in your local environment of your app to view the tinker page.

Authorization

Should you want to run this in another environment (we do not recommend this), there are two steps you must perform.

  1. You must register a viewWebTinker ability. A good place to do this is in the AuthServiceProvider that ships with Laravel.
public function boot()
{
    $this->registerPolicies();

    Gate::define('viewWebTinker', function ($user = null) {
        // return true if access to web tinker is allowed
    });
}
  1. You must set the enabled variable in the web-tinker config file to true.

Modifying the output

You can modify the output of tinker by specifying an output modifier in the output_modifier key of the web-tinker config file. An output modifier is any class that implements \Spatie\WebTinker\OutputModifiers\OutputModifier.

This is how that interface looks like.

namespace Spatie\WebTinker\OutputModifiers;

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

The default install of this package will use the PrefixDataTime output modifier which prefixes the output from Tinker with the current date time.

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

This package was inspired by and uses code from the nova-tinker-tool package by Marcel Pociot.

License

The MIT License (MIT). Please see License File for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].