Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Boris Laravel Package

d11wtq/boris

Interactive REPL for PHP powered by Boris. Drop into a console and inspect variables, evaluate code, explore objects, and debug applications quickly from the command line with an easy, lightweight shell.

View on GitHub
Deep Wiki
Context7

A tiny, but robust REPL (Read-Evaluate-Print-Loop) for PHP.

Frequently asked questions about Boris
Can I use Boris with Laravel 9+ and PHP 8.2+?
Boris was last updated in 2015 and may not fully support PHP 8.x or Laravel 9+. It relies on deprecated functions like `create_function`, which could break. Test it in a non-production environment first, or consider forking and updating the core REPL loop for compatibility.
How do I install Boris in a Laravel project?
Run `composer require d11wtq/boris` to install. Launch it with `vendor/bin/boris` or bootstrap Laravel’s context using `boris --bootstrap=bootstrap/app.php`. Ensure `composer dump-autoload` is run afterward to resolve PSR-4 autoloading issues.
Does Boris support Laravel’s service container or Eloquent models?
Boris can inspect objects like `User::find(1)` or `Route::list()`, but it lacks direct integration with Laravel’s service container (`$app->make()`) or advanced features like event listeners or queue jobs. Use it for basic object inspection, but avoid complex Laravel-specific workflows.
Why should I use Boris instead of Laravel’s built-in `tinker` or `psysh`?
Boris offers a lightweight REPL for quick PHP experimentation, but it’s outdated compared to `psysh` (actively maintained) or Laravel’s `tinker` (Laravel-native). If you need Laravel-specific features or PHP 8+ support, `psysh` or `tinker` are safer alternatives.
Will Boris work in production or CI/CD environments?
No, Boris is not designed for production or CI/CD. It lacks security hardening, audit logging, and may fail due to PHP version or dependency conflicts. Use it only for local development or debugging.
How do I debug a failed Laravel queue job using Boris?
Boris can inspect job payloads or objects in memory, but it won’t interact with Laravel’s queue system directly. Manually load the job class (e.g., `new YourJob()`) and inspect its properties, but avoid relying on it for queue-specific logic.
Does Boris support Laravel’s Blade components or collect() helpers?
No, Boris is a generic PHP REPL and doesn’t natively support Laravel’s Blade syntax or `collect()` helpers. Use it for raw PHP or Eloquent code, but switch to Laravel’s `tinker` or a browser for Blade-related tasks.
How can I check if Boris respects Laravel’s `APP_ENV` or `APP_DEBUG` settings?
Boris doesn’t automatically load Laravel’s environment variables. Manually set them in the REPL (e.g., `putenv('APP_ENV=local')`) or use the `--bootstrap` flag to load `bootstrap/app.php`, which initializes Laravel’s environment checks.
Are there any security risks using Boris in a shared development environment?
Yes, Boris is an unmaintained package with potential vulnerabilities like arbitrary code execution via REPL input. Avoid using it in shared or production environments. Restrict usage to trusted local setups and disable it in `.env` checks if possible.
What’s the best way to migrate from Boris to a more modern REPL like `psysh`?
Replace `boris` with `psysh` by running `composer require bobwebb/psysh`. Use `psysh` with Laravel’s bootstrap (`psysh -de bootstrap/app.php`) for seamless integration. Test critical workflows (e.g., Eloquent queries, Artisan commands) to ensure compatibility before full adoption.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver