PHP.mk документација

Глобален простор

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

language.namespaces.global.php PHP.net прокси Преводот се освежува
Оригинал на 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 години
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-
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;
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.