TL; DR
Вы пытаетесь загрузить файл маршрутов breadcrumps из той же директории вашего пакета, используя __DIR__
Ссылка на файл из базового пути
$this->loadRoutesFrom(base_path('routes/breadcrumbs.php'));
Сам пакет ссылается на него таким образом, см. source
Объяснение
__DIR__
- предопределенная магическая константа в PHP, см. Документы
__DIR__ The directory of the file. If used inside an include,
the directory of the included file is returned.
This is equivalent to dirname(__FILE__).
This directory name does not have a trailing slash unless it is the root directory.
Выводит родительский каталог файла, в котором он выполняется, относительно
Пример
При такой структуре каталогов
~/test ✹ ★ ᐅ tree
.
├── folder
│ └── file.php
├── index.php
└── routes
└── breadcrumps.php
file.php
<?php
echo __DIR__ . '/routes/breadcrump.php';
Выходы
/home/caddy/test/folder/routes/breadcrump.php
Это неверный путь, routes
каталог НЕ внутри folder
Однако index.php
(переименованная копия file.php) выдает
/home/caddy/test/routes/breadcrump.php
Это правильно, так как это относительный путь, индекс находится в родительском каталоге routes
Решение?
Использовать base_path () вспомогательную функцию, так как вы используете Laravel
Функция base_path возвращаетполный путь к корню проекта. Вы также можете использовать функцию base_path для генерации полного пути к заданному файлу относительно корневого каталога проекта:
$path = base_path();
$path = base_path('vendor/bin');
Выводит относительный путь к вашему файлу index.php в публичном каталоге, возвращаясь назадодин шаг, который является корнем вашего приложения
Надеюсь, это поможет