6

私は教義の初心者です。pear + doctrine 2.3.3 をインストールしたばかりで、テストしたいと思います。

教義をテストするために、「person」という名前のクラスを書きました

/**
 * @Entity
 */
class person
{
    /** @Id @Column(type="integer") @GeneratedValue * */
    private $id;

    /** @Column(type="string") * */
    private $name;

    /** @Column(type="string") * */
    private $surname;

    //some getters and setters ...
}

その後、bootstrap.php ファイル、bootstrep_doctrine.php および cli-config.php ファイルを作成し、次のコマンドを実行します。

doctrine orm:schema-tool:create

それはうまくいきます!

しかし、今、「通常の」php ファイルに自分の bootstrap.php を含めて、「人」を作成しようとすると、次のエラーが発生します。

Fatal error: Class 'Doctrine\ORM\Tools\Setup' not found 
in /var/www/vms/bootstrap_doctrine.php on line 15

ファイルは次のようになります。

<?php
$debug = true;
if($debug){
    error_reporting(E_ALL);
    ini_set("display_errors", "on");
    ini_set("display_startip_errors", "on");
}
require_once '../bootstrap.php';

include_once ('testClassOrm.php');
$person = new person();
$person = new person();
$person->setName("Hans");
?>

ブートストラップ.php:

if(!class_exists("Doctrine\Common\Version", false)){
    require_once 'bootstrap_doctrine.php';
}

bootstrap_doctrine.php

use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;

$paths = array("entities/");
$isDevMode = true;

// the connection configuration
$dbParams = array(
    'driver'   => 'pdo_mysql',
    'user'     => 'TEST',
    'password' => 'TEST',
    'dbname'   => 'test',
);

$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$em = EntityManager::create($dbParams, $config);

/usr/share/pear/ が php_include パスにあるかどうかを確認しました。そしてそれは..

require_once 'System.php';
var_dump(class_exists('System', false));

true を返します。

しかし、これは false を返します:

use Doctrine\ORM\Tools\Setup;
var_dump(class_exists('Setup', false));

私は何か間違ったことをしていますか?

よろしくお願いします

4

1 に答える 1