Before some days, I don’t have idea about Namespaces in PHP and I have searched a lot for this and I didn’t understand it and finally lots of headaches, I am clear with namespace now and I want to share my knowledge with you because if you are using PHP 5.3, you have to know about Namespaces and Exceptions.
Namespaces are the core part of ROR(Ruby on Rails). Its new feature in PHP and have released before some years around June 2009 in PHP a. We can say Namespaces are one of the most significant features in PHP 5.3.0 and if we try to use if in older version of PHP, error message would be appear.
Namespaces are the common concept of OOP because it’s a simply collection of classes, functions and objects. We can put any of the PHP code in the namespace, but the main purpose of a namespace is to avoid naming collision of classes, functions and variables.
What are namespaces?
Namespaces are the way to encapsulate classes, functions or constants to a specific library or area to solve certain conflicts that can arise when two different classes are given the same name.With the use of namespaces, we can avoid the naming conflict between one or more classes.when you add code under namespaces, it would be unique from other’s code even if they have the same entity name.
Where can You Use Namespaces?
You probably don’t need namespaces for small applications or applications with only one developer, or applications without frameworks of third party code but if your application have large set of classes libraries and functions within class and If your application has more than one developer, or you start to use third-party libraries, it’s good to use namespaces to keep your code clean, and prevent name conflicts in your code, that are difficult to find and fix.
SYNTAX:
1 2 3 | namespace {ClassName, FunctionName}; |
To declare a namespace, keyword ‘namespace’ is used and to use the namespace, Scope Resolution Operator (::) or keyword USED is used.
We should declare the namespace as above and we can also create nested namespaces using a backslash() between multiple names of the namespace.
How Do You Use Namespaces?
First Create one demo.php file and add below code:
1 2 3 4 5 6 7 8 9 |
And next create Test.php file which can contain below code:
1 2 3 4 5 6 |
NOTES: Namespace must be declare on top of the page.
Above Example show you the class referenced with the Namespace and after that you can use the Scope Resolution Operator and instantiate the “Test” class.
You can use more than one namespaces in single file like
1 2 3 4 5 6 7 8 9 10 11 12 13 | namespace first; class FirstClass(){ // Code } namespace second; class SecondClass(){ // Code } |
How to define Nested namespaces in the same file?
1 2 3 | namespace MyFirstNamespacesubnamespace; |
Alright, we have declared namespace but how to use them its the main thing of it so let’s see how to use nested namespaces.
Also Checkout other posts:
Static Keyword in PHP
Constructor and Destructor in PHP
Type Hinting in PHP5
If we want to use namespace in other files, we can use it with “USE” keyword. so USE is most and important thing for namespaces.
SYNTAX:
1 2 3 | use MyFirstNamespace; |
Now with the use of “USE” keyword any constant, classes, or functions in the file will now be part of “MyFirstNamespace”.
You can also view presentation from slideshare:
Comments (8)