Пространства имён PHP Namespace

Пространства имён в PHP

Пространства имён в PHP (исходное фото взято с сайта Роскосмоса)

Пространства имён PHP (документация) — способ группировки логически связанных классов, функций, констант. Появились в PHP5.3. Упрощают построение крупных приложений, решают проблему одинаковых названий классов и функций от разных разработчиков. При подготовке к сдаче ZCE — обязательная для подготовки тема. Ключевое слово namespace, которое ставится первой строкой внутри операторных скобок. Пример создания пространства имён из документации:

Пространства имён PHP: пример

PHP поддерживает два способа к абстрактно доступным элементам в текущем пространстве имен таким, как магическая константа __NAMESPACE__ и ключевое слово namespace.
Значение константы __NAMESPACE__ — это строка, которая содержит имя текущего пространства имен. В глобальном пространстве, вне пространства имен, она содержит пустую строку.

namespace Foo\Bar;
include 'file1.php';
const FOO = 2;
function foo() {}
class foo
{
static function staticmethod() {}
}
/* Неполные имена */
foo(); // определяется как функция Foo\Bar\foo
foo::staticmethod(); // определяется как класс Foo\Bar\foo с методом staticmethod
echo FOO; // определяется как константа Foo\Bar\FOO

Namespaces PHP

Код

//namespace.php
namespace Specialist;
include "vendor/autoload.php";
//echo __NAMESPACE__;
const SPEC_URL = "http://specialist.ru";
function spec_func(){
return __FUNCTION__;
}
class Specialist{
static function getClass(){
return __CLASS__;
}
}
echo "<p>",SPEC_URL;
echo "<p>",\Specialist\SPEC_URL;
echo "<p>",spec_func();
echo "<p>",Specialist::getClass();
function substr(){
echo "<p>test";
}
substr();
$user = new \User("John");
echo "<p>",$user->name;
$foo = new \Some\Foo\Foo();
$foo->getInfo();

Если вам понравилась заметка, поделитесь ей в социальной сети и отметьте на Youtube. Спасибо!

Добавить комментарий