A namespace in PHP is a way to encapsulate items such as classes, interfaces, functions, and constants. This feature allows you to group related code and prevent naming conflicts, especially when integrating libraries or modules from different sources.
Namespaces are defined using the `namespace` keyword, and they can also be hierarchical. For instance, `namespace MyProject\SubNamespace` allows for better organization of code and makes it easier to maintain large applications.
Here is an example of how to define and use namespaces in PHP:
<?php
namespace MyProject;
class MyClass {
public function sayHello() {
return "Hello from MyProject\\MyClass";
}
}
namespace MyProject\SubNamespace;
class MySubClass {
public function sayHello() {
return "Hello from MyProject\\SubNamespace\\MySubClass";
}
}
// Usage
$obj1 = new \MyProject\MyClass();
echo $obj1->sayHello(); // Hello from MyProject\MyClass
$obj2 = new \MyProject\SubNamespace\MySubClass();
echo $obj2->sayHello(); // Hello from MyProject\SubNamespace\MySubClass
?>
How do I avoid rehashing overhead with std::set in multithreaded code?
How do I find elements with custom comparators with std::set for embedded targets?
How do I erase elements while iterating with std::set for embedded targets?
How do I provide stable iteration order with std::unordered_map for large datasets?
How do I reserve capacity ahead of time with std::unordered_map for large datasets?
How do I erase elements while iterating with std::unordered_map in multithreaded code?
How do I provide stable iteration order with std::map for embedded targets?
How do I provide stable iteration order with std::map in multithreaded code?
How do I avoid rehashing overhead with std::map in performance-sensitive code?
How do I merge two containers efficiently with std::map for embedded targets?