Doctrine Entity «Класс не найден»

Я перехожу к руководству Doctrine's Getting Started и застрял в начале из-за «Class 'Product», который не найден в /var/www/test/product-create.php в строке 6 »:

<?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()); 

Как написано в руководстве, у меня есть класс Product в каталоге «./src» в моем проекте.

Пожалуйста, помогите мне, потому что я хочу начать использовать Doctrine без Symfony, и я не могу двигаться дальше.

Вот мой 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. Вам нужно написать в верхней части файла

require_once 'patch_to_your_class / Product.php';

или использовать автозагрузчик для классов.

Я только что наткнулся на ваш вопрос сейчас и надеюсь, что вы нашли ответ, но чтобы помочь другим вам нужно убедиться, что вы включили в свой композитор.json следующие

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

Или включите его вручную, как @ Сергей Студеникин предложил