PHP Namespaces

🌐 PHP Namespaces (For Beginners)

A namespace is like a folder for your PHP classes/functions/constants.

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:

Frontend\User
Backend\User

🟩 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:

namespace Backend;

 

Use both:

use Frontend\User as FrontUser;
use Backend\User as BackUser;


 


🟨 5️⃣ Sub-Namespaces (Folders Inside Folders)

App\Controllers\Admin
App\Controllers\User
App\Models

Example:


 


🟪 6️⃣ Functions & Constants in Namespaces

namespace Tools;

 

Usage:

echo \Tools\greet();
echo \Tools\VERSION;

🟦 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:

App\Controllers\User → /app/Controllers/User.php

🟥 9️⃣ Global Namespace

If you write a class without namespace, it goes to global namespace.

namespace App;

// Calling global class
$std = new \StdClass();


🟧 1️⃣0️⃣ Real-Life Example (Common in Laravel)

Laravel auto uses namespaces:

namespace App\Http\Controllers;

class UserController extends Controller {}

Use in routes:

use App\Http\Controllers\UserController;

🎯 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

CodeCapsule

Sanjit Sinha — Web Developer | PHP • Laravel • CodeIgniter • MySQL • Bootstrap Founder, CodeCapsule — Student projects & practical coding guides. Email: info@codecapsule.in • Website: CodeCapsule.in

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *