Tinkerwell 4 is out now! See what's new or buy now.
Tinkerwell background image
Tinkerwell Logo Tinkerwell

Silvan Hagen has invited you to use Tinkerwell!

If you buy via this link, you'll get access to 14 months of Tinkerwell updates.

Tinkerwell - The PHP Scratchpad

Enjoy coding and debugging in an editor designed for fast feedback and quick iterations. It's like a shell for your application – but with multi-line editing, code completion, and more.

Tinkerwell
SQL
1 2 3 4 5
// Get a user from your database
$user = User::find(42);

// Add Tinkerwell to the user's apps
$wasAdded = $user->attachApp(Tinkerwell::class);
                            
SELECT * FROM `users` WHERE `id` = 42
App\Models\User {#3846
      id: 42
      name: "Marcel Pociot"
      email: "[email protected]"
      provider_id: "804684"
      provider_token: "ghu_zgN5qayX1!wYA2xoAD4JZm43QI9MvqR04Tf8d"
      provider_refresh_token: null
      created_at: "2023-09-01 11:45:12"
      updated_at: "2023-09-11 13:24:19"
      current_installation_id: null
      username: "mpociot"
      avatar: "https://avatars.githubusercontent.com/u/804684?v=4"
      current_account_id: 56
      provider: "github"
      account_reminder_sent_at: null
      provider_http_token: null
      provider_url: null
    }
    
INSERT INTO `user_apps` ( `user_id`, `app_id` ) VALUES ( 42, 1 )
true
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
[!] Aliasing 'User' to 'App\User' for this Tinker session.
App\User {#4076
  #connection: "mysql"
  #table: "users"
  #primaryKey: "id"
  #keyType: "int"
  +incrementing: true
  #with: []
  #withCount: []
  +preventsLazyLoading: false
  #perPage: 15
  +exists: true
  +wasRecentlyCreated: false
  #escapeWhenCastingToString: false
  #attributes: array:21 [
    "id" => 49
    "name" => "Marcel"
    "email" => "[email protected]"
    "password" => "$2y$10$7UxZSEfJtplRlH.e7eMUDe8WGuwrmrhZhP9WhGO.c.H7g14tqDOGm"
    "quaderno_id" => ""
    "remember_token" => null
    "created_at" => "2023-06-08 09:16:07"
    "updated_at" => "2023-09-29 11:36:42"
    "package" => "premium"
    "paddle_id" => null
    "confirmed_at" => "2023-06-08 09:16:20"
    "confirmation_code" => null
    "public" => 0
    "twitter" => null
    "github" => null
    "web" => null
    "bio" => null
    "github_id" => null
    "last_login_at" => "2023-06-08 09:16:34"
    "educational_email" => null
    "educational_email_last_verified_at" => null
  ]
  #original: array:21 [
    "id" => 49
    "name" => "Marcel"
    "email" => "[email protected]"
    "password" => "$2y$10$7UxZSEfJtplRlH.e7eMUDe8WGuwrmrhZhP9WhGO.c.H7g14tqDOGm"
    "quaderno_id" => ""
    "remember_token" => null
    "created_at" => "2023-06-08 09:16:07"
    "updated_at" => "2023-09-29 11:36:42"
    "package" => "premium"
    "paddle_id" => null
    "confirmed_at" => "2023-06-08 09:16:20"
    "confirmation_code" => null
    "public" => 0
    "twitter" => null
    "github" => null
    "web" => null
    "bio" => null
    "github_id" => null
    "last_login_at" => "2023-06-08 09:16:34"
    "educational_email" => null
    "educational_email_last_verified_at" => null
  ]
  #changes: []
  #casts: array:2 [
    "last_login_at" => "datetime"
    "educational_email_last_verified_at" => "datetime"
  ]
  #classCastCache: []
  #attributeCastCache: []
  #dateFormat: null
  #appends: []
  #dispatchesEvents: []
  #observables: []
  #relations: []
  #touches: []
  +timestamps: true
  +usesUniqueIds: false
  #hidden: array:2 [
    0 => "password"
    1 => "remember_token"
  ]
  #visible: []
  #fillable: array:17 [
    0 => "name"
    1 => "email"
    2 => "password"
    3 => "quaderno_id"
    4 => "package"
    5 => "paddle_id"
    6 => "confirmed_at"
    7 => "github"
    8 => "github_id"
    9 => "twitter"
    10 => "web"
    11 => "bio"
    12 => "public"
    13 => "last_login_at"
    14 => "onboarding_disabled"
    15 => "educational_email"
    16 => "educational_email_last_verified_at"
  ]
  #guarded: array:1 [
    0 => "*"
  ]
  #rememberTokenName: "remember_token"
}
Single Developer License
  • Icon background image Available for macOS, Windows and Linux
  • Icon background image License for two devices
  • Icon background image 30-days money-back guarantee
  • Icon background image Includes access to all updates for one year
  • Icon background image Perpetual fallback license (pay once, use forever)