#doctrine-orm #zend-framework2 #zfdoctrine
#doctrine-orm #zend-framework2 #zfdoctrine
Вопрос:
Я пытаюсь интегрировать Doctrine2 и ZF2. Я могу успешно создать объект Doctrine, а затем синхронизировать его с моей базой данных, чтобы таблица была создана, но когда я перехожу на веб-страницу, появляется это:
Видите эти странные символы в верхней части страницы, и да, имя файла для моей сущности UauthEntity.php
Мои файлы конфигурации:
ZendProject/config/автозагрузка/doctrine.local.php
<?php
$dbParams = array(
'hostname' => 'localhost',
'port' => 3306,
'username' => 'root',
'password' => 'root',
'database' => 'project001'
);
return array(
'doctrine' => array(
'connection' => array(
'orm_default' => array(
'params' => array(
'host' => $dbParams['hostname'],
'port' => $dbParams['port'],
'user' => $dbParams['username'],
'password' => $dbParams['password'],
'dbname' => $dbParams['database'],
'driverOptions' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
),
)
)
)
)
);
ZendProject/config/application.config.php
<?php
return array(
// This should be an array of module namespaces used in the application.
'modules' => array(
'ZendDeveloperTools',
'DoctrineModule',
'DoctrineORMModule',
'Application',
'Uauth',
'Album',
), //etc... (default in ZendSkeletonApplication)
ZendProject/module/Uauth/config/module.config.php (конфигурация doctrine внизу)
<?php
return array(
'controllers' => array(
'invokables' => array(
'UauthControllerUauth' => 'UauthControllerUauthController',
),
),
// The following section is new and should be added to your file
'router' => array(
'routes' => array(
'uauth' => array(
'type' => 'segment',
'options' => array(
'route' => '/uauth[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9] ',
),
'defaults' => array(
'controller' => 'UauthControllerUauth',
'action' => 'index',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'uauth' => __DIR__ . '/../view',
),
),
'doctrine' => array(
'driver' => array(
'uauth_entities' => array(
'class' => 'DoctrineORMMappingDriverAnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/Uauth/Model/Entity')
),
'orm_default' => array(
'drivers' => array(
'ModelEntity' => 'uauth_entities'
)
))),
);
и объект находится в ZendProject/module/Uauth/src/Uauth/Model/Entity/UauthEntity.php .
Я буду признателен за некоторую помощь в решении этой проблемы.
Ответ №1:
Где-то у вас есть v var_dump
или что-то еще, что печатает это. В ZF2 или Doctrine нет функции, которая печатает подобную информацию, поэтому она должна откуда-то взяться. Попробуйте отключить UAth
модуль (чтобы убедиться, что дамп находится внутри модуля), а затем проверяйте страницу за страницей в этом модуле, чтобы увидеть, где скрывается проблема.
Комментарии:
1. Проблема решена. Модуль, который печатает этот материал, называется ZendDeveloperTools. Если я отключу этот модуль, все будет работать нормально.