PHP Namespaces
🌐 PHP Namespaces (For Beginners)
Namespaces prevent naming conflicts when multiple classes have the same name.
🟦 Why Do We Need Namespaces?
Imagine two files:
-
class User(frontend) -
class User(backend)
Without namespaces, PHP cannot load both — name conflict!
Namespaces solve this:
🟩 1️⃣ Basic Namespace Example
File: App/Car.php
File: index.php
🟧 2️⃣ Accessing Namespaced class Without use
\means start from global namespace.
🟥 3️⃣ Using Multiple Classes from Same Namespace
🟫 4️⃣ Aliases (Very Important)
When two classes have the same name:
File 1:
File 2:
Use both:
🟨 5️⃣ Sub-Namespaces (Folders Inside Folders)
Example:
🟪 6️⃣ Functions & Constants in Namespaces
Usage:
🟦 7️⃣ Grouped Namespace Import
Shorter and cleaner.
🟩 8️⃣ Autoloading with Composer (Most Common in Real Projects)
Laravel and modern PHP apps use Composer which automatically loads namespaces.
Example composer.json:
This means:
🟥 9️⃣ Global Namespace
If you write a class without namespace, it goes to global namespace.
🟧 1️⃣0️⃣ Real-Life Example (Common in Laravel)
Laravel auto uses namespaces:
Use in routes:
🎯 Summary (Easy to Remember)
| Concept | Meaning |
|---|---|
| namespace | A folder system for PHP classes |
| use | Import class from namespace |
alias (as) |
Rename to avoid conflict |
| \ | Points to global namespace |
| PSR-4 | Standard autoload mapping |
