Weave 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

Tinker Laravel Package

vluzrmos/tinker

Tinker brings an interactive PHP REPL to Laravel via PsySH, adding the artisan tinker command so you can experiment with your app's code, test Eloquent queries, and inspect objects from the terminal without writing throwaway routes or scripts.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for an internal dev-tooling gap. If your team runs a Lumen service, this package answers a small, concrete question: "do we get a REPL (php artisan tinker-style) inside our app, or do we keep dumping to logs?" The decision is less about whether the capability is valuable — it clearly is — and more about whether you take a dependency to get it or write ~50 lines of service-provider glue around PsySH yourself. Given the package is abandoned, the realistic answer is: copy the pattern, own the code.
  • Roadmap: Lumen → Laravel migration prioritization. Lumen is itself in maintenance mode and the Laravel project steers new work to full Laravel, where Tinker is first-party and maintained. The existence of this package as a stopgap is a data point for the roadmap argument that a Lumen service should be scheduled for migration rather than further invested in.
  • Feature scoping for developer-experience work. If "improve debugging ergonomics in the legacy service" is on the backlog, this is a known, cheap, well-understood solution shape — useful for sizing an item without a spike.
  • Use cases it genuinely serves: inspecting Eloquent models and data in staging, one-off data corrections, verifying container bindings and config resolution, reproducing a production bug interactively. All dev/staging-only; none of these justify a production runtime dependency.
  • Not supported: customer-facing features, performance work, or anything on the critical path. This is internal tooling with zero end-user surface area.

When to Consider This Package

Consider the pattern (not necessarily the package as a dependency) when:

  • You have an existing, maintained-in-place Lumen application and developers are losing time to var_dump/log-based debugging.
  • The tool would be installed as a require-dev dependency only, absent from production builds, and never enabled in a deployed environment.
  • You accept ownership: fork it, vendor it, or reimplement it. With 0 dependents and no release since June 2018, there is no support contract, no security response, and no compatibility guarantee with current PHP or PsySH versions — you are the maintainer the moment you adopt it.
  • The team can absorb a small, bounded piece of tech debt in exchange for immediate developer productivity.

Look elsewhere — or stop — when:

  • The project is new. Use Laravel and its first-party tinker; do not start a Lumen service in order to use a Lumen-only tool.
  • You are already on Laravel. This package adds nothing.
  • Your dependency policy requires maintained packages, active security response, or a published support window. An "ABANDONED" banner is a hard blocker under most such policies.
  • Anyone proposes installing it in a production or internet-reachable environment. An interactive shell that can execute arbitrary PHP and touch your database is a severe exposure; that risk is not worth it for a debugging convenience.
  • You need PHP 8.x / current-PsySH compatibility without doing the upgrade work yourself.

How to Pitch It (Stakeholders)

Executive summary: This is a small, low-cost developer-productivity tool that gives engineers an interactive console inside our Lumen application, cutting the time spent diagnosing data and configuration issues. The capability is worth having; this particular package is not something we should depend on. It was abandoned in 2018, has no downstream dependents, and receives no maintenance or security updates. The right move is to reproduce its functionality in-house — the work is measured in hours, not sprints — and to treat that as a tactical patch while we plan the Lumen-to-Laravel migration, where an equivalent console ships first-party and maintained.

For engineering: Adopt the pattern, not the dependency. Vendor or rewrite the service-provider binding and gate registration to non-production environments via config and environment checks. Pin PsySH deliberately and add a smoke test so the console binding cannot silently rot. Log a follow-up to delete the shim once the service moves to Laravel.

Recommendation: Do not add vluzrmos/tinker to any product we intend to keep. Use it as a reference implementation, budget roughly half a day of engineering to own an equivalent in-house, and use the gap it exposes as supporting evidence for scheduling the framework migration.

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.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect