Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.
Загляните в раздел «Обсуждение»:
Ничего не дается бесплатно, в том числе и пространства имён. Вызовы функций становятся длинными и неудобными.
<?php
namespace Generator;
function generate($data)
{
return \Formatters\Pretty\render($data);
}
Представьте, что будет, если понадобится вызвать эту функцию много раз. В глазах очень быстро начнёт рябить от обратных слешей. Для решения этой задачи придумали механизм импорта. С его помощью можно "импортировать" функцию в текущее пространство имён так, как будто она определена прямо здесь:
<?php
namespace Generator;
use function Formatters\Pretty\render;
function generate($data)
{
return render($data);
}
Импорт функции, выполняется оператором use
, за которым идёт ключевое слово function
и затем полный путь до функции с указанием всех его пространств имён, без обратного слеша вначале. Количество импортов ничем не ограничено. Их используют и добавляют исключительно по соображениям удобства:
<?php
namespace Php\Pairs\Data\Lists;
use function Php\Pairs\Pairs\cons;
use function Php\Pairs\Pairs\car;
use function Php\Pairs\Pairs\cdr;
use function Php\Pairs\Pairs\toString;
Изредка случаются ситуации, когда хочется импортировать функцию, но в текущем пространстве либо уже определена функция с таким именем, либо функция с таким именем была импортирована ранее из другого пространства имён. Сделать это можно через алиасы (псевдонимы) — механизм, позволяющий переименовывать импортируемые функции.
<?php
namespace Generator;
use function Formatters\Pretty\render;
use function Formatters\Simple\render as simpleRender;
function generate($data)
{
return simpleRender($data);
}
Для переименования достаточно в конце импорта добавить ключевое слово as
, а затем имя, под которым функция должна стать доступна.
Вам ответят команда поддержки Хекслета или другие студенты.
или войти в аккаунт
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
Зарегистрируйтесь или войдите в свой аккаунт