Es ist das erste Mal, dass ich Composer benutze, und ich bekomme ein bisschen batzig, um herauszufinden, warum es meine Namensräume nicht aufnimmt.Schwerwiegender Fehler: Uncaught Fehler: Klasse 'Project Router Hello' nicht gefunden
In meinem project/
Verzeichnis:
├── composer.json
├── composer.lock
├── composer.phar
├── README.md
├── vendor (truncated)
└── src
├── Config.php
├── Handler.php
└── Router.php
src/Config.php
<?php
$project_root = realpath(__DIR__ . '/..');
$autoload = $project_root . '/vendor/autoload.php';
?>
src/router.php
<?php namespace Project\Router;
include_once("Config.php");
require $autoload;
use Project\Handler;
Hello::world();
?>
src/handler.php
<?php namespace Project\Handler;
include_once("Config.php");
require $autoload;
class Hello {
public function world() {
echo "Hello world!";
}
}
?>
composer.json
{
"autoload": {
"psr-4": {
"Project\\": "src"
}
}
}
http://127.0.1.1/project/src/Router.php
:
Fatal error: Uncaught Error: Class 'Project\Router\Hello' not found in /path/to/project/src/Router.php:38(not actual line) Stack trace: #0 {main} thrown in /path/to/project/src/Router.php on line 38(not actual line)
Ich bin in der Lage ausländische Abhängigkeiten zu verwenden, so mein allgemeinen Composer Setup scheint ok. Ich kann einfach nicht herausfinden, wo ich meine eigenen Namespaces vermassle.
Just for Kicks, haben Sie versucht, '\ Project \ Handler \ Hallo :: Welt mit();' statt 'use'? – Machavity
@Machovity Ja, ich habe sicherlich. Derselbe Fehler. – deadghost