Tinker Command
Table of contents
1. Overview Table of Contents
The tinker
command gives you an interactive REPL (Read-Eval-Print Loop) for your application.
It allows you to interact with your models, database, and framework utilities without running the full application.
This is extremely useful for debugging, testing, and development.
2. ✅ Requirements Table of Contents
You must install psysh as a dev dependency first:
composer require --dev psy/psysh
3. 🚀 Starting Tinker Table of Contents
In your project root:
php console tinker
YOu will see a prompt:
Psy Shell v0.12.0 (PHP 8.x — cli) by Justin Hileman
>>>
4. 💡 Examples Table of Contents
1️⃣ Access Models
use App\Models\Users;
$admin = Users::findById(1);
print_r($admin);
2️⃣ Test Utilities
use Core\Helper;
Helper::currentPage();
3️⃣ Read Environment Variables
use Core\Lib\Utilities\Env;
Env::get('APP_DOMAIN');
4️⃣ Manually Validate a Model
use App\Models\Users;
$user = new Users();
$user->email = 'invalid-email';
$user->runValidation(new EmailValidator($user, ['field' => 'email', 'message' => 'Invalid email']));
print_r($user->getErrorMessages());
5️⃣ Run Raw SQL Queries
use Core\DB;
$db = DB::getInstance();
$results = $db->query("SELECT * FROM users")->results();
print_r($results);
6️⃣ Create New Records
use App\Models\Users;
$user = new Users();
$user->username = 'chad';
$user->email = 'chad@example.com';
$user->save();
echo $user->id;