Алексей Онищенко

Добрый день.

Почему в приведенных примерах в пространство имен включается название файла? Обычно из файлов подгружаются классы и название файла совпадает с именем класса, разве в этом случае мы не получим дублирование?

Например, если бы в этом файле был определен класс Lists, то мы бы использовали его как PhpPairs\Lists\Lists, почему не определить namespace как PhpPairs?

https://github.com/hexlet-components/php-pairs/blob/master/src/Lists.php

Залез посмотреть в Laravel, и к примеру классы контроллеров там имеют namespace состоящий только из структуры директорий.

namespace App\Http\Controllers;

class AboutController extends Controller
{
    public function index()
    {
        return view('pages.about');
    }
}
4 0

Сергей К.

Алексей, добрый вечер!

Проверьте, есть ли в указанной библиотеке описание классов?

0

Алексей Онищенко

Вопрос риторический, классов там нет, я написал об этом в первом посте. Правда, речь ведь не об их наличии.

0

Сергей К.

Когда дело касается классов, то принято определять ровно один класс на файл. Имя класса совпадает с именем файла и добавлять имя файла в неймспейс нет необходимости. Но в нашем случае в одном файле определяется несколько функций. Это значит, что в соседнем файле может быть определена функция с таким же именем.

0

Алексей Онищенко

Все устаканилось, спасибо.

0

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

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

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

Похожие вопросы

Alexander Karakin 21 мая 2020 →

Не совсем понял, почему мы убираем директорию scr? enter image description here https://gyazo.com/f84a3241...

Вильдан Фазлыев 01 мая 2020 →

Я обнаружил интересную особенность. Что переменная не принадлежит пространству имен. Если в данном файле по...

danik mukhamedyarov 23 октября 2019 →

почему в файле упражнения директория такая '''php-pairs/src/Lists.php, а неймспейс такой namespace PhpPair...

Сергей Ампилов 12 февраля 2019 →

Добрый вечер! Столкнулся вот с такой проблемой. Я локально воспроизвел пример из теории этого модуля. И он ...

Александр Никанкин 25 ноября 2018 →

Возник вопрос. Почему в коде return \Formatters\Pretty\render($data); используется начальный \, а при име...