ZF2: Zend framework 2.2-Controller nicht gefunden " - Fehler

Ich versuche zum erstellen neuer module im Zend-Skeleton-applictaion. Ich bin nach dem Zend framework-erste-Schritte-tutorial über das Album-Modul. Nur der Unterschied ist ich bin mit Projekt-Namen, anstatt Sie zu Album. Hier mein Modul-Struktur.

ZF2: Zend framework 2.2-Controller nicht gefunden

Den Inhalt module.config.php ist als unten.

<?php
namespace Project;

return array(
  'router' => array(
    'routes' => array(
        'project' => array(
            'type' => 'segment',
            'options' => array(
                'route' => '/project[/:action][/:id]',
                'contraints' => array(
                    'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                    'id' => '[0-9]+'
                ),
                'defaults' => array(
                    'controller' => __NAMESPACE__.'/Controller/'.__NAMESPACE__,
                    'action' => 'index'
                )
            )
        )
    )
  ),
  'controllers' => array(
    'invokables' => array(
        'Project/Controller/Project' => 'Project/Controller/ProjectController',
    )
  ),
  'view_manager' => array(
    'template_path_stack' => array(
        'project' => __DIR__ . '../view',
    )
  ),
);

Inhalt Module.php ist als unten.

<?php
namespace Project;

class Module
{
    public function getAutoloaderConfig()
    {
        return array(
            'Zend\Loader\ClassMapAutoloader' => array(
                __DIR__ . '/autoload_classmap.php',
            ),
            'Zend\Loader\StandardAutoloader' => array(
                'namespaces' => array(
                    __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                ),
            ),
        );
    }

    public function getConfig()
    {
        return include __DIR__ . '/config/module.config.php';
    }
}

Die Datei autoload_classmap.php Gegenzug nur ein leeres array.

<?php
return array()

Wenn ich versuche, Zugriff auf den url http://local.zf2/project/, bekomme ich folgende Fehlermeldung.

Fatal error: Class 'Project/Controller/ProjectController' not found in 
/home/bliss/public_html/local.zf2/vendor/zendframework/zendframework/library
/Zend/ServiceManager/AbstractPluginManager.php on line 170

Als ich sah auf die AbstractPluginManager.php - Datei die Zeile 170 enthält $instance = new $invokable();.

Ausgegeben ich $invokable variable, um den Wert es hat. Er kehrte string(36) "Project/Controller/ProjectController"

Irgendwie ZF2 ist nicht in der Lage, das zu finden Datei. Kann jemand bitte helfen? Danke.

EDIT: Hier ist der Inhalt ProjectController.php - Datei. Wenn Sie die Datei gefunden haben, wird es sterben, zeigt Sie den Namen der Datei.

<?php
namespace Project\Controller;

die(__FILE__);

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class ProjectController extends AbstractActionController
{
    public function indexAction()
    {
        return array();
//       return new ViewModel();
    }
}
?>
Wie es scheint, entdeckt Sie die Datei, aber nicht das richtige gefunden-Klasse. Überprüfen Sie, dass Klassennamen und namespace korrekt sind.
Aktualisierte Frage, mit dem Inhalt ProjectController
Sieht aus wie Sie die falsche Schrägstriche in den defaults & invokables Schlüssel in module.config.php

InformationsquelleAutor traditional | 2013-05-29

Schreibe einen Kommentar