Beginners Logo
  • होम
  • ताज़ा खबरें
  • करियर गाइडेंस
  • जॉब ओपनिंग्स
  • एडमिशन
  • परीक्षा की जानकारी
  • एडमिट कार्ड
  • रिजल्ट
  • सामान्य ज्ञान
  1. Home
  2. Tutorial
  3. Php
  4. Php Namespaces

PHP Namespaces

Namespaces in PHP are a way to encapsulate a set of items, primarily used to avoid naming collisions between classes, functions, and constants. Let's go through PHP namespaces step by step.

1. Defining a Namespace

Use the `namespace` keyword at the top of the PHP file:

namespace MyNamespace;

class MyClass {
    public function sayHello() {
        return "Hello from MyNamespace!";
    }
}

2. Using a Namespace

To utilize a class or function from a namespace, you need to reference it correctly.

require 'path_to_file_with_namespace.php';

$obj = new MyNamespace\MyClass();
echo $obj->sayHello();

3. Using the `use` keyword

To simplify usage and avoid writing the full namespace every time, use the `use` keyword:

require 'path_to_file_with_namespace.php';

use MyNamespace\MyClass;

$obj = new MyClass();
echo $obj->sayHello();

4. Aliasing with `use`

Sometimes you might want to alias a class to avoid naming collisions:

use MyNamespace\MyClass as SomeClass;

$obj = new SomeClass();

5. Sub-namespaces

Namespaces can be hierarchical:

namespace MyNamespace\SubNamespace;

class MyClass {}

6. Global Space

If you're in a namespaced file and want to call a global class, prepend with a backslash:

namespace MyNamespace;

class MyClass {
    public function createDateTime() {
        $date = new \DateTime();
        return $date->format('Y-m-d');
    }
}

7. Namespace functions and constants

Not only classes, but you can also define functions and constants inside namespaces:

namespace MyNamespace;

const MY_CONST = "Hello, World!";

function myFunction() {
    return "Hello from function!";
}

To use them:

echo MyNamespace\MY_CONST;
echo MyNamespace\myFunction();

8. Dynamic access

You can access namespaced classes, functions, or constants dynamically using strings:

$classname = 'MyNamespace\\MyClass';
$obj = new $classname();

9. Multiple namespaces in one file

While it's generally recommended to use one namespace per file, PHP allows combining multiple namespaces in a single file using braces:

namespace MyNamespaceA {
    class MyClassA {}
}

namespace MyNamespaceB {
    class MyClassB {}
}

10. Namespace and autoload

One significant advantage of namespaces is when combined with autoloading, typically using PSR-4 autoloading standards with Composer. This avoids manually including files and reduces errors. --- That's a basic rundown of PHP namespaces. There are more advanced nuances, but understanding these basics will set you on the right path. Always remember to organize your code in a way that makes sense for your project, and namespaces will help you manage your codebase as it grows.

UPCET Exam

UPCET Exam

Click Here

SAAT Exam

SAAT Exam

Click Here

MHT CET Exam

MHT CET Exam

Click Here

IPU CET Exam

IPU CET Exam

Click Here

KCET Exam

KCET Exam

Click Here

COMEDK UG Exam

COMEDK UG Exam

Click Here

VITEEE Exam

VITEEE Exam

Click Here

BITSAT

BITSAT

Click Here

DSAT: Dayanand Sagar Admission Test

DSAT: Dayanand Sagar Admission Test

Click Here

Career In Animation in india

Career In Animation in india

Click Here

Merchant Navy Courses in india

Merchant Navy Courses in india

Click Here

Interior Design Career in india

Interior Design Career in india

Click Here

UGC NET Exam

UGC NET Exam

Click Here

B. Ed Exam

B. Ed Exam

Click Here

AFCAT - Air Force Common Admission Test

AFCAT - Air Force Common Admission Test

Click Here

GATE Exam

GATE Exam

Click Here

Joint Entrance Examination (JEE)

Joint Entrance Examination (JEE)

Click Here

Common Admission Test (CAT)

Common Admission Test (CAT)

Click Here

CDS - Combined Defence Services Exam

CDS - Combined Defence Services Exam

Click Here

अन्य खबरें

  • प्राइवेट नौकरी अपडेट: Testbook में कंटेंट राइटर की नई वैकेंसी, ग्रेजुएट करें अप्लाई, दिल्ली में मिलेगी फुल टाइम जॉब

  • मार्च में सरकारी नौकरी के सुनहरे मौके! बैंक, पुलिस, डाक विभाग से लेकर असिस्टेंट प्रोफेसर तक कई भर्तियाँ जारी

  • केवीएस बाल वाटिका एडमिशन 2025: केंद्रीय विद्यालय में नर्सरी, एलकेजी, यूकेजी में प्रवेश शुरू, आवेदन प्रक्रिया और अंतिम तिथि जानें

  • नीट यूजी 2025 परीक्षा रजिस्ट्रेशन शुरू: फीस, एडमिट कार्ड, परीक्षा तिथि और रिजल्ट से जुड़ी सभी जरूरी जानकारी

  • यूपी बीएड प्रवेश परीक्षा 2025: आवेदन की तारीख घोषित, जानें रजिस्ट्रेशन प्रक्रिया, परीक्षा तिथि और अन्य जरूरी जानकारी

  • Bihar DElED Exam 2025: डीएलएड अभ्यर्थियों के लिए जरूरी अपडेट, आवेदन में हुई गलती ऐसे करें सुधार, अंतिम तिथि से पहले पूरा करें प्रक्रिया

  • PHP Tutorial
    • PHP Tutorial
    • PHP Introduction
    • PHP Installation
    • PHP Syntax
    • PHP Comments
    • PHP Variables
    • PHP Echo / Print
    • PHP Data Types
    • PHP Strings
    • PHP Numbers
    • PHP Math
    • PHP Constants
    • PHP Operators
    • PHP If...Else...Elseif
    • PHP Switch
    • PHP Loops
    • PHP Functions
    • PHP Arrays
    • PHP Superglobals
    • PHP RegEx
    • PHP Forms
    • PHP Form Handling
    • PHP Form Validation
    • PHP Form Required
    • PHP Form URL/E-mail
    • PHP Form Complete
    • PHP Advanced
    • PHP Date and Time
    • PHP Include
    • PHP File Handling
    • PHP File Open/Read
    • PHP File Create/Write
    • PHP File Upload
    • PHP Cookies
    • PHP Sessions
    • PHP Filters
    • PHP Filters Advanced
    • PHP Callback Functions
    • PHP JSON
    • PHP Exceptions
    • PHP OOP
    • PHP What is OOP
    • PHP Classes/Objects
    • PHP Constructor
    • PHP Destructor
    • PHP Access Modifiers
    • PHP Inheritance
    • PHP Abstract Classes
    • PHP Interfaces
    • PHP Traits
    • PHP Static Methods
    • PHP Static Properties
    • PHP Namespaces
    • PHP Iterables
    • MySQL Database
    • MySQL Connect
    • MySQL Create DB
    • MySQL Create Table
    • MySQL Insert Data
    • MySQL Get Last ID
    • MySQL Insert Multiple
    • MySQL Prepared
    • MySQL Select Data
    • MySQL Where
    • MySQL Order By
    • MySQL Delete Data
    • MySQL Update Data
    • MySQL Limit Data
    • AJAX Intro
    • AJAX Database
    • AJAX Live Search
    • AJAX Poll
    • PHP Examples
    • PHP Compiler (Editor)
    • PHP Quiz
    • PHP Exercises
    • PHP Certificate
    • PHP Reference
    • PHP Overview
    • PHP Array
    • PHP Calendar
    • PHP Date
    • PHP Directory
    • PHP Error
    • PHP Exception
    • PHP Filesystem
    • PHP Filter
    • PHP FTP
    • PHP Keywords
    • PHP Mail
    • PHP Misc
    • PHP MySQLi
    • PHP Network
    • PHP Output Control
    • PHP Stream
    • PHP String
    • PHP Variable Handling
    • PHP XML Parser
    • PHP Zip
    • PHP Timezones
  • Other Tutorials
    • Angular
    • CSS
    • Javascript
    • Mysql
    • Node JS
    • PHP Tutorial
    • Python
    • React Tutorial