PHP namespace overview

PHPz
Release: 2023-08-20 11:30:02
forward
1063 people have browsed it

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

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();
?>
Copy after login

输出

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

Hello World
Copy after login

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

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!