PHPPHP18 min read

Namespaces in PHP (Organize Code Like a Framework)

Use namespaces to structure larger PHP applications and avoid class name collisions.

Laura Mitchell
October 28, 2025
3.9k192

As your project grows, you might have multiple classes named the same:

  • User
  • Controller
  • Logger

Namespaces solve this.

Example

File: src/Models/User.php

<?php
namespace App\Models;

class User {
  public function __construct(public string $name) {}
}

File: index.php

<?php
require_once "src/Models/User.php";

use App\Models\User;

$user = new User("Emma Parker");
echo $user->name;

Best practice

Use namespaces that match folders:

  • App\Models
  • App\Controllers
  • App\Services

Next: Autoloading, load classes automatically instead of require everywhere.

#PHP#OOP#Intermediate