PHP Namespaces Overview

PHPServer Side ProgrammingProgramming

Introduction

In PHP, use of namespaces allows classes / functions / constants of same name be used in different contexts without any conflict, thereby encapsulating these items. A namespace is logical grouping of classes/functions etc depending on their relevence. Just as a file with same name can exist in two different folders, a class of ertain name can be defined in two namespaces. Further, as we specify the complete path of a file to gain access, we need to specify full name of class along with namespace.

Use of namespaces becomes crucial when application code grows. To give a unique name to each class/function may become tedious and not exactly elegant, namespace comes handy. For example, if we need to declare a calculate() function to calculate area as well as tax, instead of defining them as something like calculate_area() and calculate_tax(), we can create two namespaces area and tax and use calculate() inside them.

Use of namespaces solves two problems.

  • avoiding name collisions between classes/functions/constants defined by someone with third-party classes/functions/constants.

  • provides ability to alias (or shorten) Extra_Long_Names thereby improving readability of source code.

PHP Namespaces provide a way in which to group related classes, interfaces, functions and constants. Namespace names are case - insensitive

Example

<?php
namespace myspace;
function hello() {
   echo "Hello World\n";
}
?>

To call a function defined inside a namespace, include with use keyword. Name of function is qualified with namespace

Example

 Live Demo

<?php
namespace myspace;
function hello() {
   echo "Hello World\n";
}
use myspace;
myspace\hello();
?>

Output

Above code now returns name following output

Hello World
raja
Published on 18-Sep-2020 13:01:37
Advertisements