我试图通过制作一个从我的数据库中获取信息的非常简单的脚本来学习使用Doctrine 2 。问题是我找不到任何解释 Doctrine 如何查找和使用我的映射实体的文档。所以当它抱怨它没有找到一个实体时,我不知道该怎么做才能解决这个问题。考虑我的 www 文件夹中的以下结构:
- 教义/
- 实体/
- 人.php
- 我的TestPage.php
人.php
<?php
/** @Entity @Table(name="person")*/
class person
{
/**
* @Id @Column(type="integer")
*/
protected $uid;
}
?>
我的TestPage.php
<?php
require "Doctrine/Doctrine/ORM/Tools/Setup.php";
$lib = "Doctrine";
Doctrine\ORM\Tools\Setup::registerAutoloadDirectory($lib);
use Doctrine\ORM\Tools\Setup,
Doctrine\ORM\EntityManager;
$paths = array("/Entities");
$isDevMode = true;
$dbParams = array("driver" => "pdo_mysql",
"host" => "myhost.ca",
"user" => "Shawn",
"password" => "noneofyourbusiness",
"dbname" => "testDB");
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$em = EntityManager::create($dbParams, $config);
$qb = $em->createQueryBuilder();
$qb->select(array('uid'))
->from('person', 't');
$query = $qb->getQuery();
$result = $query->getResult();
echo $result;
?>
当我访问 myTestPage.php 时,我收到以下错误消息:
致命错误:未捕获的异常 'Doctrine\ORM\Query\QueryException' 带有消息 '[Semantical Error] line 0, col 24 near 'person': Error: Class 'person' is not defined。在第 47 行的 C:\wamp\www\Doctrine\Doctrine\ORM\Query\QueryException.php
问题似乎是Doctrine找不到person.php,但是我该如何解决呢?