Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Namespace
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===== PHP <!-- This section is linked from [[PHP]] --> ===== Namespaces were introduced into [[Php|PHP]] from version 5.3 onwards. Naming collision of classes, functions and variables can be avoided. In [[PHP]], a namespace is defined with a namespace block. <syntaxhighlight lang="php"> # File phpstar/foobar.php namespace phpstar; class FooBar { public function foo(): void { echo 'Hello world, from function foo'; } public function bar(): void { echo 'Hello world, from function bar'; } } </syntaxhighlight> We can reference a PHP namespace with the following different ways: <syntaxhighlight lang="php"> # File index.php # Include the file include "phpstar/foobar.php"; # Option 1: directly prefix the class name with the namespace $obj_foobar = new \phpstar\FooBar(); # Option 2: import the namespace use phpstar\FooBar; $obj_foobar = new FooBar(); # Option 2a: import & alias the namespace use phpstar\FooBar as FB; $obj_foobar = new FB(); # Access the properties and methods with regular way $obj_foobar->foo(); $obj_foobar->bar(); </syntaxhighlight> [[File:UML phpstar package diagram.svg|UML diagram of the phpstar package with the class FooBar.]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)