Frage

Nachdem Lehre nie berührt vor (entweder 1 oder 2), verfolge ich dieses Tutorial für Lehre 2 .

Ich bin an dem Punkt, wo ich die Befehlszeile verwenden, das Datenbankschema zu generieren. Dies ist der cli-config.php, gemäß dem Tutorial:

<?php
$cliConfig = new Doctrine\Common\Cli\Configuration();
$cliConfig->setAttribute('em', $entityManager);

Wenn ich es aber laufen, bekomme ich nur einen Fehler:

Fatal error: require(): Failed opening required 'Doctrine\Common\Cli\Configuration.php' 

Da diese Klasse von der cli-config.php-Datei referenziert ist nicht vorhanden. Ich habe auch versucht, die cli-config.php Blanking, was natürlich nicht funktioniert entweder - „ist nicht definiert‚ sagt, dass‘Der Helfer“ em

Ich bin mit Version 2.0.0BETA3. Ich weiß, dass dies eine Beta-Version ist, so dass sie um einige Dateien geändert haben könnten, aber ich kann nicht die Klasse überall finden.

Alle Ideen, wie um es zu arbeiten?

War es hilfreich?

Lösung

Die Dokumente im XML-Erste Schritte sind in dieser Hinsicht veraltet. Bitte beachten Sie die Werkzeuge im Handbuch, wie das CLI-Tool konfigurieren:

http: // docs .doctrine-project.org / projects / Lehre-ORM / en / 2.0.x / reference / tools.html

Die ganze Rest funktioniert nach wie vor, wie beschrieben. Ich werde diesen Teil aktualisieren so schnell wie möglich.

Andere Tipps

Angenommen, Sie installiert Lehre mit Birne

$ sudo Birne installieren pear.doctrine-project.org/doctrineORM

, die die drei 'Doctrine 2' Pakete installieren: DoctrineCommon, DoctrineDBAL und DoctrineORM. Auf Ubuntu, werden diese Pakete in / usr / share / php / Lehre und die Lehre Kommandozeilenprogramm befinden, wird in / usr / bin installiert werden.

Mit diesem Setup, das ist eine Version von cli-config.php Sie verwenden können (Anmerkung: DIR sollte zwei Unterstrichen vor haben und nach Aus irgendeinem Grund haben sie nicht angezeigt.).

<?php
require ‘Doctrine/ORM/Tools/Setup.php’;
// Setup Autoloader (1)
Doctrine\ORM\Tools\Setup::registerAutoloadPEAR();

require_once '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);

$driverImpl = $config->newDefaultAnnotationDriver(array(__DIR__."/Entities"));

$config->setMetadataDriverImpl($driverImpl);

$config->setProxyDir(__DIR__ . '/Proxies');

$config->setProxyNamespace('Proxies');

$connectionOptions = array(
        'driver' => 'pdo_mysql',
        'dbname' => 'bugs',
        'user' => 'bugs',
        'password' => 'xyzabc',
  'host' => 'localhost' );

$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)
));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top