Course Content
Autoloading
0/1
Exceptions Handling
0/1
PHP OOP
About Lesson

What are Namespaces:

Namespaces in PHP provide a way to organize and group classes, interfaces, functions, and constants into a logical hierarchy, similar to directories on a file system. They help prevent naming conflicts between different parts of your application or between your application and third-party libraries.

Declaring Namespaces:

You declare a namespace using the namespace keyword followed by the namespace name. Namespace declarations must be the first statement in the PHP file, before any other code.

PHP
<?php

namespace MyNamespace;

Using Namespaces:

To use classes, functions, or constants from a namespace, you prefix them with the namespace name followed by a backslash .

PHP
<?php

use MyNamespaceMyClass;

$obj = new MyClass();

Nested Namespaces:

Namespaces can be nested to create a hierarchy.

PHP
<?php

namespace MyNamespaceSubNamespace;

Aliasing:

You can use the use keyword to create aliases for classes, interfaces, functions, or constants from namespaces to make their usage more convenient.

PHP
<?php

use MyNamespaceMyClass as MyClassAlias;

Global Namespace:

If no namespace is specified, the code is placed in the global namespace.

Example:

Here’s an example demonstrating the usage of namespaces:

PHP
<?php

// File: MyClass.php

namespace MyNamespace;

class MyClass {

    public function greet() {

        echo "Hello from MyClass!";

    }

}

// File: index.php

require 'MyClass.php';

use MyNamespaceMyClass;

$obj = new MyClass();

$obj->greet(); // Output: Hello from MyClass!

In this example, we define a namespace MyNamespace and a class MyClass within that namespace. In the index.php file, we use the use keyword to import the MyClass class from the MyNamespace namespace and instantiate it.

Namespaces help in organizing code, avoiding naming collisions, and improving code maintainability and readability, especially in larger projects or when working with third-party libraries.