0% complete

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.