Object-Oriented PHP · Lesson 4 of 14
Properties
Declare object state with typed properties and deliberate visibility.
Lesson
Properties store state on an object. Typed properties document what values are allowed, while private visibility prevents callers from putting an object into an invalid state. Initialize required properties in the constructor and expose changes through methods that can enforce rules.
The example keeps the value private and returns it through a method.
Further guidance
Give an object one clear responsibility and protect state that must satisfy a rule. Prefer a small public contract and composition for replaceable collaborators; use inheritance only for a genuine subtype. Test behavior through public methods instead of relying on internal implementation details.
Practice task: Create a fresh example for Properties. Predict the result before running it, then change one input and explain why the result changes. Test a normal case and one boundary or invalid case where it applies. Compare your output with the example and note one rule you would use in a real project.
Code examples
Properties
PHP
class Product
{
public function __construct(private string $name) {}
public function name(): string { return $this->name; }
}
echo (new Product('Notebook'))->name();
Expected output
Notebook
Key points
- Declare object state with typed properties and deliberate visibility.
- Protect object invariants behind a small public API.
- Prefer composition unless inheritance expresses a genuine subtype.
Your learning progress
Finish this lesson
Optional practice
PHP playground
This site does not execute learner-provided PHP code. Connect a secured PHP sandbox service before enabling code execution.
Execution is disabled. No code is sent to a server.