PHP编写器自动加载问题
我想通过PHP Composer从以下文件自动加载类:PHP编写器自动加载问题,php,class,composer-php,Php,Class,Composer Php,我想通过PHP Composer从以下文件自动加载类: <?php src/Product.php use Doctrine\ORM\Mapping as ORM; class product { protected $id; protected $name; public function getId() { return $this->id; } public function getName() { return $this->name;
<?php
src/Product.php
use Doctrine\ORM\Mapping as ORM;
class product
{
protected $id;
protected $name;
public function getId()
{
return $this->id;
}
public function getName()
{
return $this->name;
}
public function setName($name)
{
$this->name = $name;
}
}
提交:
<?php
use Doctrine\ORM\Mapping as ORM;
require_once "bootstrap.php";
require __DIR__ . '/vendor/autoload.php';
$newProductName = $argv[1];
$product = new Product();
$product->setName($newProductName);
$entityManager->persist($product);
$entityManager->flush();
echo "Created Product with ID " . $product->getId() . "\n";
但我一直在犯错误:
php create_product.php ORM
PHP致命错误:未捕获错误:在/home/vaclav/Server/vssk/vssk/project/create_Product.PHP:9中找不到类“Product”
堆栈跟踪:0{main}
在第9行的/home/vaclav/Server/vssk/vssk/project/create_product.php中,您缺少两件事: src/Product.php文件中的名称空间。将整个内容包装在应用程序的名称空间中,例如MyApp 在composer.json中配置的自动加载: 自动加载:{psr-4:{MyApp\\\:src/}
这将把名称空间MyApp映射到项目根目录下的src文件夹。根据需要进行调整。您缺少两件事: src/Product.php文件中的名称空间。将整个内容包装在应用程序的名称空间中,例如MyApp 在composer.json中配置的自动加载: 自动加载:{psr-4:{MyApp\\\:src/} 这将把名称空间MyApp映射到项目根目录下的src文件夹。根据需要对其进行调整。也不要忘记将composer dump作为第三步运行以重建composer缓存也不要忘记将composer dump作为第三步运行以重建composer缓存