Ошибки, сложный материал, вопросы >
Нашли опечатку или неточность?

Выделите текст, нажмите 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, а затем имя, под которым функция должна стать доступна.


<span class="translation_missing" title="translation missing: ru.web.courses.lessons.mentors.mentor_avatars">Mentor Avatars</span>

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят менторы из команды Хекслета или другие студенты.

Зарегистрироваться

или войти в аккаунт

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 115 курсов, 2000+ часов теории
  • 800 практических заданий в браузере
  • 250 000 студентов

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг».

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Rambler
Логотип компании Bookmate
Логотип компании Botmother

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг».