
- PHP 7 Tutorial
- PHP 7 - Home
- PHP 7 - Introduction
- PHP 7 - Performance
- PHP 7 - Environment Setup
- PHP 7 - Scalar Type Declarations
- PHP 7 - Return Type Declarations
- PHP 7 - Null Coalescing Operator
- PHP 7 - Spaceship Operator
- PHP 7 - Constant Arrays
- PHP 7 - Anonymous Classes
- PHP 7 - Closure::call()
- PHP 7 - Filtered unserialize()
- PHP 7 - IntlChar
- PHP 7 - CSPRNG
- PHP 7 - Expectations
- PHP 7 - use Statement
- PHP 7 - Error Handling
- PHP 7 - Integer Division
- PHP 7 - Session Options
- PHP 7 - Deprecated Features
- PHP 7 - Removed Extensions & SAPIs
- PHP 7 Useful Resources
- PHP 7 - Quick Guide
- PHP 7 - Useful Resources
- PHP 7 - Discussion
PHP Namespaces 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
<?php namespace myspace; function hello() { echo "Hello World
"; } use myspace; myspace\hello(); ?>
Output
Above code now returns name following output
Hello World
- Related Articles
- PHP Using namespaces
- PHP Aliasing/Importing namespaces
- PHP Declaring sub-namespaces
- PHP Defining Multiple Namespaces in same file
- Is it possible to get list of defined namespaces in PHP
- Namespaces and Scoping in Python
- What are namespaces in C#?
- Namespaces and Scope in Python
- What are Python namespaces all about?
- Can namespaces be nested in C++?
- How to use namespaces in C++?
- How to define namespaces in C#?
- What are nested namespaces in C#?
- C++11 Overview
- Sportswear: An Overview
