Я использую slim framework, composer и psr-4 autoload.Namespacing не работает, используя композитор psr-4
Это в композиторе:
"Shorty\\":"app/Shorty"
Примечание: Я попытался выше, также со структурой "Shorty\\":"app/Shorty/Models"
directorry: app/Shorty/Models/Trap.php
Внутри Trap.php
:
namespace Shorty\Models;
use Illuminate\Database\Eloquent\Model as Eloquent;
class Trap{
#code here
}
В моем маршруте :
$users=Trap::leftJoin('users', function($join){
и я получаю: Class 'Trap' не найден
Что я сделал не так?
Возможно, это не поможет, но вы запустили 'comper dump-autoload' (или установку/обновление композитора) с момента добавления вашего пространства имен psr-4? – Ross
Я сделал автозагрузку дампа, несколько раз тоже – TDawg
Тогда в противном случае убедитесь, что вы используете 'use Shorty \ Models \ Trap;' объявление в верхней части файла маршрута, где вы используете 'Trap'. Если это так, я не вижу ничего, что не должно работать (часть «Shorty \\»: «app/Shorty» должна работать). Возможно, вы можете расширить свой вопрос с полной копией и вставкой объявления вашего композитора psr-4. Если есть какой-либо кеш, который вы можете очистить в своем приложении, попробуйте это тоже. – Ross