Zum Inhalt springen

Zend Framework 2 und doctrineORMModule


Empfohlene Beiträge

Hallo,

ich wollte mir gestern einmal Zend Framework 2 installieren mit dem ORM doctrine. Das gibt es bereits als Modul für Zend 2 und nennt sich doctrineORMModule.

Funktionierte auch alles soweit, einziges problem, die aliases, die doctrine für die CLI verwendet, fehlen bei mir noch. Und ich habe leider keine Ahnung wo ich die hinschreiben soll. Ich bin mit dem Zend Framework 1 vertraut. Dort wäre es auch kein Problem gewesen, einfach in der application.ini eintragen und alles wäre wunderbar gewesen.

Ich vermute mal stark muss das jetzt in Form von Unterarrays anstatt der Punktschreibweise machen und zwar in der moudele.config.php, oder?

Meine config Dateien sehen aktuell so aus:

module.config.php:

<?php
return array(
'controllers' => array(
'invokables' => array(
'Frontpage\Controller\Frontpage' => 'Frontpage\Controller\FrontpageController',
),
),
'router' => array(
'routes' => array(
'frontpage' => array(
'type' => 'segment',
'options' => array(
'route' => '/frontpage[/][:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Frontpage\Controller\Frontpage',
'action' => 'index',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'frontpage' => __DIR__ . '/../view',
),
),
'doctrine' => array(
'driver' => array(
'application_entities' => array(
'class' =>'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/Model')
),

'orm_default' => array(
'drivers' => array(
'Frontpage\Model' => 'frontpage_entities'
)
),
),
),
);[/PHP]

application.config.php:

[PHP]<?php
return array(
// This should be an array of module namespaces used in the application.
'modules' => array(
'Application',
'DoctrineModule',
'DoctrineORMModule',
'Frontpage',
'ZendDeveloperTools',
),

// These are various options for the listeners attached to the ModuleManager
'module_listener_options' => array(
// This should be an array of paths in which modules reside.
// If a string key is provided, the listener will consider that a module
// namespace, the value of that key the specific path to that module's
// Module class.
'module_paths' => array(
'./module',
'./vendor',
),

// An array of paths from which to glob configuration files after
// modules are loaded. These effectively override configuration
// provided by modules themselves. Paths may use GLOB_BRACE notation.
'config_glob_paths' => array(
'config/autoload/{,*.}{global,local}.php',
),

// Whether or not to enable a configuration cache.
// If enabled, the merged configuration will be cached and used in
// subsequent requests.
//'config_cache_enabled' => $booleanValue,

// The key used to create the configuration cache file name.
//'config_cache_key' => $stringKey,

// Whether or not to enable a module class map cache.
// If enabled, creates a module class map cache which will be used
// by in future requests, to reduce the autoloading process.
//'module_map_cache_enabled' => $booleanValue,

// The key used to create the class map cache file name.
//'module_map_cache_key' => $stringKey,

// The path in which to cache merged configuration.
//'cache_dir' => $stringPath,

// Whether or not to enable modules dependency checking.
// Enabled by default, prevents usage of modules that depend on other modules
// that weren't loaded.
// 'check_dependencies' => true,
),

// Used to create an own service manager. May contain one or more child arrays.
//'service_listener_options' => array(
// array(
// 'service_manager' => $stringServiceManagerName,
// 'config_key' => $stringConfigKey,
// 'interface' => $stringOptionalInterface,
// 'method' => $stringRequiredMethodName,
// ),
// )

// Initial configuration with which to seed the ServiceManager.
// Should be compatible with Zend\ServiceManager\Config.
// 'service_manager' => array(),
);

doctrine.local.php:

<?php
return array(
'doctrine' => array(
'connection' => array(
'orm_default' => array(
'driverClass' =>'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
'host' => 'localhost',
'port' => '3306',
'user' => 'root',
'password' => 'geheim',
'dbname' => 'testdb',
)
)
)
)
);
?>[/PHP]

Das ganze läuft in der Testumgebung unter XAMPP mit MySQL als Datenbank.

Folgende Exceptions bekomme ich auf der Konsole:

[PHP]An exception was raised while creating "doctrine.entitymanager.orm_default"; no instance returned

natürlich für alle doctrine.XXX Variablen

Doctrine für Zend kann man hier beziehen: https://github.com/doctrine/DoctrineORMModule

Ich hoffe es versteht jemand eher, bzw. ihr könnt mir helfen.

MFG derwunner

Link zu diesem Kommentar
Auf anderen Seiten teilen

Problem gelöst. Ich mach das jetzt einfach mit der PHP-Funktion class_alias im Autoloader. Sicherlich nicht der beste Weg, aber einer! ;-)

Ein Problem noch: Ich glaube mir fehlen Ordnerberechtigungen, denn is_dir gibt false zurück, auf einen Ordner, den es mit Sicherheit git. Liegt unterhalb htdocs im XAMPP Verzeichnis.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...