# Warning: Undefined property: Class::$prop

**Code:** `Undefined property` · **Category:** PHP · **Seen on:** PHP

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

## 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?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/php/undefined-property)
