العقيدة 2 - مشاكل "بدء تشغيل XML -Edition" - إنشاء مخطط قاعدة البيانات

StackOverflow https://stackoverflow.com/questions/3551686

سؤال

بعد أن لم لمس العقيدة من قبل (إما 1 أو 2) ، أتابع هذا البرنامج التعليمي للعقيدة 2.

أنا في النقطة التي أستخدم فيها سطر الأوامر لإنشاء مخطط قاعدة البيانات. هذا هو ملف cli-config.php ، وفقًا للبرنامج التعليمي:

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

عندما أقوم بتشغيله ، أحصل على خطأ:

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

لأن تلك الفئة المشار إليها بواسطة ملف cli-config.php غير موجود. لقد حاولت أيضًا وضع طيور ملف cli-config.php ، وهو بالطبع لا يعمل أيضًا - يقول "المساعد" EM "لم يتم تعريفه".

أنا أستخدم الإصدار 2.0.0beta3. أعلم أن هذا إصدار تجريبي ، لذلك كان بإمكانهم تغيير بعض الملفات حولها ، لكن لا يمكنني العثور على هذا الفصل في أي مكان.

أي أفكار حول كيفية عملها؟

هل كانت مفيدة؟

المحلول

المستندات في XML البدء هي قديمة في هذا الصدد. يرجى الاطلاع على قسم الأدوات في الدليل حول كيفية تكوين أداة CLI:

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

كل الباقي لا يزال يعمل كما هو موضح. سأقوم بتحديث هذا الجزء في أسرع وقت ممكن.

نصائح أخرى

على افتراض أنك قمت بتثبيت العقيدة باستخدام كمثرى

$ sudo pear install pear.doctrine-project.org/doctrineorm

والتي ستثبت حزم "العقيدة 2" الثلاث: العجيب ، العقيدة ، والعقيدة. على Ubuntu ، سيتم وضع هذه الحزم في/usr/share/php/montrine ، وأداة مساعدة سطر الأوامر العقيدة ، في/usr/bin.

باستخدام هذا الإعداد ، هذا إصدار من cli-config.php يمكنك استخدامه (ملاحظة: دير يجب أن يكون لديك اثنين من السدود قبل وبعد ذلك. لسبب ما لم يعرضوا).

<?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)
));
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top