guanguans/laravel-code-runner

Run the PHP code in the browser. - ๅœจๆต่งˆๅ™จไธญ่ฟ่กŒ PHP ไปฃ็ ใ€‚

Maintainers

๐Ÿ‘ guanguans

Package info

github.com/guanguans/laravel-code-runner

pkg:composer/guanguans/laravel-code-runner

Fund package maintenance!

Wechat

Statistics

Installs: 6

Dependents: 0

Suggesters: 0

Stars: 11

Open Issues: 0

0.7.0 2024-03-13 08:30 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 1ac403e46c23212fad8fd5e6fc5b4cf745e91e5a

phpdebugparserbrowserwebcodedevelopmentrunnerlaravelartisanTinkerphp-parserweb-tinkercode-runner


README

๐Ÿ‘ Image

ENGLISH | ็ฎ€ไฝ“ไธญๆ–‡

Run the PHP code in the browser. - ๅœจๆต่งˆๅ™จไธญ่ฟ่กŒ PHP ไปฃ็ ใ€‚

๐Ÿ‘ tests
๐Ÿ‘ check & fix styling
๐Ÿ‘ codecov
๐Ÿ‘ Latest Stable Version
๐Ÿ‘ GitHub release (latest by date)
๐Ÿ‘ Total Downloads
๐Ÿ‘ License

Requirement

  • PHP >= 7.4
  • Laravel >= 7.0

Installation

You can install the package via composer.

composer require guanguans/laravel-code-runner --prefer-dist -vvv

You must publish the assets from this package by running this command.

php artisan code-runner:install

You can publish the config file of the package(optional).

php artisan vendor:publish --provider="Guanguans\LaravelCodeRunner\CodeRunnerServiceProvider" --tag="code-runner-config"

Usage

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

Visit /code-runner in your app to view 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 set the enabled variable in the code-runner config file to true.

  2. You must register a view-code-runner ability. A good place to do this is in the AuthServiceProvider that ships with Laravel.

use Illuminate\Contracts\Auth\Authenticatable;

public function boot()
{
 $this->registerPolicies();

 Gate::define('view-code-runner', function (?Authenticatable $user = null) {
 // Return true if access to web tinker is allowed. Here's an example:
 return $user && in_array($user->email, [
 'admin@example.com',
 ]);
 });
}

Testing

composer test

Changelog

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

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

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