Home  >  Article  >  Backend Development  >  PHP namespace overview

PHP namespace overview

PHPz
PHPzforward
2023-08-20 11:29:191032browse

PHP namespace overview

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";
}
?>

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";
}
use myspace;
myspace\hello();
?>

输出

上述代码现在返回以下输出的名称

Hello World

The above is the detailed content of PHP namespace overview. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete