Doctrine 2.1 초보자로서 나는 Doctrine 2를 사용하기 시작하려하지만 기본적인 것으로 보이는 것에서 붙들려하고 있습니다. 하지만 여전히 나는 주위에 내 머리를 정리 할 수 없습니다Doctrine 2 구성 문제입니다. 엔티티를 찾을 수 없습니다.
이
$ doctrine orm:generate-entities Entities
Processing entity "MyUser"
Entity classes generated to "/home/lucvh/NetBeansProjects/doctrinetest/Entities"
가 MyUser.php 파일 내가
내가 다음 스키마를 생성하는 진행 (아래 참조) 무엇을 기대 생성 실행하는 Entities dir 아래에있는 MyUser 클래스를 찾지 못했기 때문에 클래스 로더가 작동하지 않으므로 분명히 실패합니다. CLI의 설정의
<?php
use Doctrine\ORM\Mapping as ORM;
/**
* MyUser
*/
class MyUser
{
/**
* @var string $Firstname
*/
private $Firstname;
/**
* @var string $Lastname
*/
private $Lastname;
/**
* @var string $Email
*/
private $Email;
/**
* @var boolean $Enabled
*/
private $Enabled;
/**
* @var integer $Id
*/
private $Id;
/**
* Set Firstname
*
* @param string $firstname
*/
public function setFirstname($firstname)
{
$this->Firstname = $firstname;
}
/**
* Get Firstname
*
* @return string
*/
public function getFirstname()
{
return $this->Firstname;
}
/**
* Set Lastname
*
* @param string $lastname
*/
public function setLastname($lastname)
{
$this->Lastname = $lastname;
}
/**
* Get Lastname
*
* @return string
*/
public function getLastname()
{
return $this->Lastname;
}
/**
* Set Email
*
* @param string $email
*/
public function setEmail($email)
{
$this->Email = $email;
}
/**
* Get Email
*
* @return string
*/
public function getEmail()
{
return $this->Email;
}
/**
* Set Enabled
*
* @param boolean $enabled
*/
public function setEnabled($enabled)
{
$this->Enabled = $enabled;
}
/**
* Get Enabled
*
* @return boolean
*/
public function getEnabled()
{
return $this->Enabled;
}
/**
* Get Id
*
* @return integer
*/
public function getId()
{
return $this->Id;
}
}
내용/매핑/XML/MyUser.dcm.xml
<?xml version="1.0"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xsi="http://www.w3.org/2001/XMLSchema-instance" schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="MyUser">
<id name="Id" type="integer">
<generator strategy="AUTO"/>
</id>
<field name="Firstname" type="string" nullable="true"/>
<field name="Lastname" type="string" nullable="true"/>
<field name="Email" type="string" nullable="true"/>
<field name="Enabled" type="boolean" nullable="true"/>
</entity>
</doctrine-mapping>
내용 : 내가 뭘 .....
$ doctrine orm:schema-tool:create
PHP Warning: class_parents(): Class MyUser does not exist and could not be loaded in /usr/share/php/Doctrine/ORM/Mapping/ClassMetadataFactory.php on line 223
PHP Warning: array_reverse() expects parameter 1 to be array, boolean given in /usr/share/php/Doctrine/ORM/Mapping/ClassMetadataFactory.php on line 223
PHP Warning: Invalid argument supplied for foreach() in /usr/share/php/Doctrine/ORM/Mapping/ClassMetadataFactory.php on line 223
[ReflectionException]
Class MyUser does not exist
orm:schema-tool:create [--dump-sql]
MyUser.php를 놓친 거지 -config.php
<?php
require_once '/usr/share/php/Doctrine/Common/ClassLoader.php';
$classLoader = new \Doctrine\Common\ClassLoader('Entities', __DIR__);
$classLoader->register();
$classLoader = new \Doctrine\Common\ClassLoader('Proxies', __DIR__);
$classLoader->register();
$config = new \Doctrine\ORM\Configuration();
$config->setMetadataCacheImpl(new \Doctrine\Common\Cache\ArrayCache);
$config->setProxyDir(__DIR__ . '/Proxies');
$config->setProxyNamespace('Proxies');
$driverImpl = new Doctrine\ORM\Mapping\Driver\XmlDriver(__DIR__."/config/mappings/xml");
$config->setMetadataDriverImpl($driverImpl);
$connectionOptions = array(
'driver' => 'pdo_pgsql',
'host' => 'localhost',
'user' => 'xxx',
'password' => 'xxx',
'dbname' => 'xx'
);
$em = \Doctrine\ORM\EntityManager::create($connectionOptions, $config);
$helperSet = new \Symfony\Component\Console\Helper\HelperSet(array(
'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()),
'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em)
));
?>
이 네임 스페이스는 추가되어야하는 위치/누락 된 네임 스페이스는 무엇입니까? – Shawn