Advanced PHP · Lesson 4 of 10
Namespaces
Organize classes into namespaces to avoid name collisions.
Lesson
Namespaces qualify class, interface, and function names so unrelated packages can use similar short names. Declare the namespace at the top of a file and import dependencies with use. Follow project naming conventions so namespaces map predictably to files.
A fully qualified name can be used directly when an import is not needed.
Further guidance
Make failure behavior explicit at system boundaries: validate decoded data, handle expected exceptions, and log diagnostics without exposing them to visitors. Keep dependencies locked and current, use a consistent namespace/autoloading scheme, and test error paths as well as successful responses.
Practice task: Create a fresh example for Namespaces. 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
Namespaces
PHP
namespace App\Support;
class Slugger
{
public function make(string $value): string
{
return strtolower(str_replace(' ', '-', trim($value)));
}
}
Expected output
The class name is App\Support\Slugger
Key points
- Organize classes into namespaces to avoid name collisions.
- Handle expected errors explicitly without exposing diagnostics.
- Keep dependency and runtime configuration reproducible.
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.