>>> $product = n-6ren">
gpt4 book ai didi

php - 学说实体 "Class not found"

转载 作者:行者123 更新时间:2023-12-04 22:13:58 25 4
gpt4 key购买 nike

我正在阅读 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 类。你需要写在你的文件的顶部

require_once 'patch_to_your_class/Product.php';

或者为类使用自动加载器。

关于php - 学说实体 "Class not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19147232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com