Undefined property 🐘 PHP

Warning: Undefined property: Class::$prop

Code read an object property that doesn’t exist on that object.

Seen on: PHP

Meaning

Accessing a property that was never declared or set returns null with a warning. In PHP 8.2+ creating undeclared (dynamic) properties is also deprecated.

Common causes

  • Typo in the property name
  • Object is a different class than expected (often stdClass from json_decode)
  • Property set conditionally
  • API response missing the field

⚡ Quick fix

  1. Declare the property in the class
  2. Use $obj->prop ?? null or isset() for optional fields
  3. Decode JSON as arrays (json_decode($s, true)) if you prefer ?? on arrays

Detailed fix by platform

PHP

  1. Add typed property declarations (public ?string $name = null;) so IDEs and static analysis catch typos

How to diagnose

  1. Object — var_dump(get_class($obj))
  2. Property — Declared or set before use?

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.