簡體   English   中英

教義實體“未找到課程”

[英]Doctrine Entity “Class not found”

我正在進行Doctrine的入門指南並且因為“第6行的/var/www/test/product-create.php中找不到”類'產品'而陷入困境:

<?php
require_once 'bootstrap.php';

$newProductName = $argv[1];

>>>>> $product = new Product();
$product->setName($newProductName);

$entityManager->persist($product);
$entityManager->flush();

echo sprintf('Created Product with ID %d' . PHP_EOL, $product->getId());

正如在指南中所寫,我的項目中的“./src”目錄下有Product類。

請幫助我,因為我想在沒有Symfony的情況下開始使用Doctrine,我無法繼續前進。

這是我的bootstrap.php:

<?php
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;

use Symfony\Component\Yaml\Parser;

require 'vendor/autoload.php';

$yaml = new Parser();

$parameters = $yaml->parse(file_get_contents(__DIR__ . '/parameters.yml'));
$parameters = $parameters['parameters'];

$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__ . '/src'), $parameters['debug']);

$conn = array
    (
        'host'      => $parameters['database_host'],
        'port'      => $parameters['database_port'],
        'driver'    => $parameters['database_driver'],
        'user'      => $parameters['database_user'],
        'password'  => $parameters['database_password'],
        'dbname'    => $parameters['database_name']
    );

$entityManager = EntityManager::create($conn, $config);

這是我的Product.php:

<?php
/**
 * @Entity
 * @Table (name="products")
 **/
class Product
{
    /**
     * @Id
     * @Column(type="integer") @GeneratedValue
     **/
    protected $id;

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

    public function getId()
    {
        return $this->id;
    }

    public function getName()
    {
        return $this->name;
    }

    public function setName($name)
    {
        $this->name = $name;
    }
}

謝謝大家!

我沒看到你在哪里包含Product class。 您需要在文件的頂部寫入

require_once'patch_to_your_class / Product.php';

或者使用自動加載器進行課程。

我現在剛剛遇到你的問題,並希望你找到答案,但為了幫助別人,你需要確保你包含在你的composer.json中以下內容

"autoload": {
    "psr-0": {"": "src/"}
}

或者像@СергейСтуденикин建議手動包含它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM