Included files will default to the global namespace.
<?php
//test.php
namespace test {
include 'test1.inc';
echo '-',__NAMESPACE__,'-<br />';
}
?>
<?php
//test1.inc
echo '-',__NAMESPACE__,'-<br />';
?>
Results of test.php:
--
-test-
PHP.mk документација
Глобален простор
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
language.namespaces.global.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
language.namespaces.global.php
Глобален простор
Референца за `language.namespaces.global.php` со подобрена типографија и навигација.
Глобален простор
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
Без дефиниција на именски простор, сите дефиниции на класи и функции се сместени во глобалниот простор - како што беше во PHP пред да се поддржат именските простори. Префиксирање на име со \ ќе специфицира дека името е потребно од глобалниот простор дури и во контекст на именскиот простор.
Пример #1 Користење на спецификација на глобален простор
<?php
namespace A\B\C;
/* This function is A\B\C\fopen */
function fopen() {
/* ... */
$f = \fopen(...); // call global fopen
return $f;
}
?>Белешки од корисници 4 белешки
routinet ¶
пред 14 години
nobody на example dot com ¶
пред 10 години
In namespaced context the Exception class needs to be prefixed with global prefix operator.
<?php
namespace hey\ho\lets\go;
class MyClass
{
public function failToCatch()
{
try {
$thing = somethingThrowingAnException();
} catch (Exception $ex) {
// Not catched
}
}
public function succeedToCatch()
{
try {
$thing = somethingThrowingAnException();
} catch (\Exception $ex) {
// This is now catched
}
}
}
dmc60 на cam dot ac dot uk ¶
пред 2 години
To define an associative array (hash) so that it is part of the namespace, instead of going into the global namespace, just declare it as const, istead of as a variable.
This is handy for lookup tables, config settings, etc.
// Example. Instead of writing:
$my_datatypes = [
"sterility" => [
"xlsx" => [
"Sample Type",
"Run Pass/Fail",
"Result"
],
"db" => [
"SampleType",
"RunPassFail",
"Result"
]
]
];
// ...declare the lookup table like this:
const MY_DATATYPES = [
"sterility" => [
"xlsx" => [
"Sample Type",
"Run Pass/Fail",
"Result"
],
"db" => [
"SampleType",
"RunPassFail",
"Result"
]
]
];
// ...and it will be declared within the current namespace.
PhoneixSegovia на gmail dot com ¶
3 години пред
Note that variables aren't part of the namespace so they are always global (or scoped to function, etc.) and can't be accessed the same way as other namespace stuff.
So no:
namespace Foo;
$var = "hello";
echo \Foo\$var;