#9.2 php Использование пространств имен. Абсолютные и относительные имена

Квалифицированное имя элемента (функции, класса и т.д) пространства имен состоит из префикса, определяющего пространство имен, слеша (\) и имени элемента:

namespace\element_name

Для обращения к любым элементам некоторого пространства имен всегда может использоваться его квалифицированное имя, начинающееся с ведущего слеша (\). Такое имя называется абсолютным. Например, абсолютное имя функции speak() пространства cat:

#9.1 php Пространства имен (namespace). Объявление нового пространства имен. Что это такое?

Объявление нового пространства имен

Для объявления нового пространства имен (доступно, начиная с PHP 5.3) используется ключевое слово namespace, после которого следует имя пространства

Стажировка по программированию, PHP, React.js

Ищем стажера/ученика программиста:
* Стэк: PHP(Symfony, Docker), React.js (TypeScript) (можно отдельно бэк или фронт, но предпочтение универсальному подходу)
* Стипендия: первый месяц 100р./час , далее: 200-250р./час
* Длительность__: 3-6 месяцев` (при желании возможно длительное сотрудничество)
* Нагрузка: 20 часов в неделю (напр. 3 часа в день)

#7.20 php trait ООП Трейты (Примеси). Оператор разрешения конфликтов имен в трейтах insteadof

Как и интерфейсы, трейты компенсируют недостотатки отсутствия множественного наследования классов в PHP. Обычно они содержат общие фрагменты кода для классов — например, реализующих одни и те же интерфейсы похожим или одинаковым образом.

Трейты объявляются при помощи ключевого слова trait, после которого следует имя трейта и его содержимое в фигурных скобках:

#7.21 php ООП Оператор проверки типа instanceof

Оператор проверки типа проверяет соместимость класса объекта, стоящего слева от instanceof с классом или интерфейсом, стоящим справа:

$Obj instanceof Class

В самом простом случае оператор instanceof позволяет проверить, является ли объект экземпляром некоторого класса, например,

<?php
class A
{
}

class B
{
}

$a = new A;
var_dump($a instanceof A);
var_dump($a instanceof B);

Результат:
bool(true)
bool(false)

#7.19 php ООП Интерфейсы. Реализация интерфейсов. Наследование интерфейсов. Совместимость сигнатур.

Интерфейсы

Определение интерфейса напоминает определение класса, только вместо class перед именем интерфейса используется ключевое слово interface:

    interface A
    {
    }

Про интерфейсы можно сказать следующее:

#7.18 php ООП Объявление типов.Совместимость типов при передаче объектов в функцию. Совместимость при переопределении методов

Объявление типов

Для аргументов функций и методов классов, возвращаемых значений и, начиная с PHP 7.4.0, для свойств классов могут использоваться объявления типов, например

docker network was found but has incorrect label Ошибка

network ИмяСети was found but has incorrect label com.docker.compose.network set to "proxynet"

Возможное решение

Можно попробовать удалить сеть:

docker network rm ИмяСети

#7.17 php ООП Абстрактные классы и методы

Абстрактным классом называется базовый класс, который является некоторым обобщением производных классов и не предполагает создание объектов. Например, класс "Геометрическая фигура" может являться обобщением классов "Круг", "Треугольник", "Четырехугольник". А класс "Четырехугольник" — обобщением классов "Прямоугольник", "Ромб", "Трапеция". Для создания абстрактного класса используется ключевое слово abstract перед определением класса:

#7.16 php ООП Анонимные классы и функции, замыкания

Анонимные функции

Анонимные функции в PHP — это функции, не имеющие определенного имени:

function($param)
{
    ...
}

Такие выражения PHP автоматически преобразует в объекты встроенного класса Closure.

Анонимные функции можно присваивать переменным:

<?php
$f = function($text) 
{ 
    echo $text;
};

$f("Hello, world!"); 

Или передавать в качестве параметра другой функции:

Pages

Subscribe to fkn+antitotal RSS