Я изучаю, как работает Composer (новичок в разработке ^^), но я изо всех сил пытаюсь исправить свою автозагрузку...
вот мой composer.json:
"autoload": {
"psr-4": {
"OCFram\\": "/../lib/",
"App\\": "/../",
"Model\\": "/../lib/vendors/",
"Entity\\": "/../lib/vendors/",
"FormBuilder\\": "/../lib/vendors/",
"Slug\\": "/../lib/vendors/"
}
},
Так, например:
Fatal error: Uncaught Error: Class 'App\Frontend\FrontendApplication' not found
Ну, путь FrontendApplication (из composer.json): **
../App/Frontend/FrontendApplication.php
Вот FrontendApplication.php с пространством имен:
<?php
namespace App\Frontend;
use \OCFram\Application;
class FrontendApplication extends Application
{
public function __construct()
{
parent::__construct();
$this->name = 'Frontend';
}
public function run()
{
$controller = $this->getController();
$controller->execute();
$this->httpResponse->setPage($controller->page());
$this->httpResponse->send();
}
}
Кроме того, я заметил этот файл (autoload_psr4.php) у поставщика/композитора:
<?php
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Slug\\' => array('/lib/vendors'),
'OCFram\\' => array('/lib'),
'Model\\' => array('/lib/vendors'),
'FormBuilder\\' => array('/lib/vendors'),
'Entity\\' => array('/lib/vendors'),
'App\\' => array('/'),
);
Был бы признателен за помощь :)
[РЕДАКТИРОВАТЬ]
Поэтому я изменил путь с "App\": "/../" (что было бессмысленно) к : "Приложение\": "../",
ТЕПЕРЬ после другого дампа-автозагрузки композитора я получаю это:
<?php
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Slug\\' => array($baseDir . '/../lib/vendors'),
'OCFram\\' => array($baseDir . '/../lib'),
'Model\\' => array($baseDir . '/../lib/vendors'),
'FormBuilder\\' => array($baseDir . '/../lib/vendors'),
'Entity\\' => array($baseDir . '/../lib/vendors'),
'App\\' => array($baseDir . '/..'),
);
Но все та же проблема, когда я пытаюсь использовать php index.php, я получаю: Неустранимая ошибка: Uncaught Error: Class «Приложение\Фронтенд\ФронтендАппликатион» не найдено
Вы пробовали запускать composer dump-autoload после изменения в composer.json?
да, только что отредактировал свой пост, спасибо ^^ у меня та же проблема






Судя по вашему заявлению:
Well, FrontendApplication path (from composer.json) : **
../App/Frontend/FrontendApplication.php
Структура вашей папки выглядит так:
/App
/<some-dir>/composer.json
Кажется, вы просто пропустили App в пути, вам не нужны начальные или конечные косые черты.
"autoload": {
"psr-4": {
"OCFram\\": "../lib",
"App\\": "../App",
"Model\\": "../lib/vendors",
"Entity\\": "../lib/vendors",
"FormBuilder\\": "../lib/vendors",
"Slug\\": "../lib/vendors"
}
},
ДА ! Извините, я просто пропустил добавление названия папок... Исправлено.. ^^
ОБНОВЛЕНИЕ: удалил / .. не знаю, почему я это поставил, но все же проблема: «App\\»: «../» Итак, autoload_psr4 теперь показывает: 'App\\' => array($baseDir . '/. .')