- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
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