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

Враќање на глобалниот простор

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

language.namespaces.fallback.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека language.namespaces.fallback.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Враќање на глобалниот простор

Референца за `language.namespaces.fallback.php` со подобрена типографија и навигација.

language.namespaces.fallback.php

Користење на именски простори: враќање на глобалниот простор за функции и константи

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Во именски простор, кога PHP наидува на неквалификувано Име во контекст на име на класа, функција или константа, ги решава со различни приоритети. Имињата на класите секогаш се решаваат до името на тековниот именски простор. Така, за пристап до внатрешни или кориснички класи без именски простор, мора да се повикате на нив со нивното целосно квалификувано Име како во:

Пример #1 Пристап до глобални класи во именски простор

<?php
namespace A\B\C;
class
Exception extends \Exception {}

$a = new Exception('hi'); // $a is an object of class A\B\C\Exception
$b = new \Exception('hi'); // $b is an object of class Exception

$c = new ArrayObject; // fatal error, class A\B\C\ArrayObject not found
?>

За функции и константи, PHP ќе се врати на глобални функции или константи ако не постои функција или константа во именскиот простор.

Пример #2 Враќање на глобални функции/константи во именски простор

<?php
namespace A\B\C;

const
E_ERROR = 45;
function
strlen($str)
{
return
\strlen($str) - 1;
}

echo
E_ERROR, "\n"; // prints "45"
echo INI_ALL, "\n"; // prints "7" - falls back to global INI_ALL

echo strlen('hi'), "\n"; // prints "1"
if (is_array('hi')) { // prints "is not array"
echo "is array\n";
} else {
echo
"is not array\n";
}
?>

Белешки од корисници 1 белешка

markus на malkusch точка de
пред 11 години
You can use the fallback policy to provide mocks for built-in functions like time(). You therefore have to call those functions unqualified:

<?php
namespace foo;

function time() {
    return 1234;
}

assert (1234 == time());
?>

However there's a restriction that you have to define the mock function before the first usage in the tested class method. This is documented in Bug #68541.

You can find the mock library php-mock at GitHub.
На оваа страница

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

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

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

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

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