У меня есть php-приложение со структурой папок, подобной этой
-/app
-/vendor
-index.php
Мой файл vendor / autoload.php включен в файл index.php.Когда я вызываю класс от вендора, например upload () в файле «index.php», он загружается без проблем.Однако, если я вызываю тот же класс в методе из класса внутри папки «app», это показывает, что класс не найден.
Классы внутри папки «app» автоматически загружаются так:
"autoload": {
"psr-4":{
"App\\": "app/"
}
},
"require": {
"verot/class.upload.php": "dev-master"
}
Как я могу вызывать классы из папки vendor в автоматически загружаемых классах в папке приложения?
Редактировать:
Классы из папки приложения называются в "index.php" следующим образом
include("vendor/autoload.php");
$get_class = 'User';
require_once('app/'.$get_class.'.php');
$get_class = 'App\\'.str_replace('/', '\\', $class_name);
if(method_exists($get_class , 'uploadImage')) {
$class = new $get_class();
$class->{ 'uploadImage' }();
}
Вот класс upload () , вызываемый в Пользователь класс
namespace App\User;
class User{
public function uploadImage()
{
$file = 'user.jpg';
$handle = new upload($file);
}
}
Вот сообщение об ошибке
Class 'App\upload' not found in app/User.php:20