2016-10-26 1 views
-1

, пожалуйста, проверьте мой код.Doctrine Class не найден

У меня есть composer.json

{ 
"require": { 
    "doctrine/orm": "2.4.*", 
    "symfony/yaml": "2.*" 
}, 
"autoload": { 
    "psr-0": {"": "src/"} 
}} 

bootstrap.php

use Doctrine\ORM\Tools\Setup; 
require_once "vendor/autoload.php"; 
$isDevMode = true; 
$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__."/src"), $isDevMode,null,null,false); 
$conn = array(
    'driver' => 'pdo_mysql', 
    'host' => '127.0.0.1', 
    'user' => 'root', 
    'password' => '', 
    'dbname' => 'ClinicaDental' 
); 
$entityManager = \Doctrine\ORM\EntityManager::create($conn, $config); 

кли-config.php

<?php 
// cli-config.php 
require_once "bootstrap.php"; 

$helperSet = new \Symfony\Component\Console\Helper\HelperSet(array(
    'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($entityManager) 
)); 

return $helperSet; 

и products.php

<?php 



use Doctrine\ORM\Mapping as ORM; 

/** 
* @ORM\Table(name="products") 
* @ORM\Entity 
*/ 
class Products 
{ 
    /** 
    * @var integer 
    * 
    * @ORM\Column(name="id", type="integer", nullable=false) 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="IDENTITY") 
    */ 
    private $id; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="name", type="string", length=255, nullable=false) 
    */ 
    private $name; 



    /** 
    * Get id 
    * 
    * @return integer 
    */ 
    public function getId() 
    { 
     return $this->id; 
    } 

    /** 
    * Set name 
    * 
    * @param string $name 
    * @return Products 
    */ 
    public function setName($name) 
    { 
     $this->name = $name; 

     return $this; 
    } 

    /** 
    * Get name 
    * 
    * @return string 
    */ 
    public function getName() 
    { 
     return $this->name; 
    } 
} 

и этот файл create_products.php

<?php 
// create_product.php 
require_once "bootstrap.php"; 
require_once './src/Products.php'; 



$newProductName = $argv[1]; 

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

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

echo "Created Product with ID " . $product->getId() . "\n"; 

запустить через терминал файл "создать product.php", и я получаю эту ошибку:

HP Fatal error: Class 'Product' not found in /Applications/XAMPP/xamppfiles/htdocs/ClinicaDental/create_product.php on line 10 

Класс не найден.

Пожалуйста, помогите мне с этим файлом. С уважением

+2

Не было бы это 'new Products();'? (множественное число) – Farkie

+1

Вы назвали свой класс Продукты :) – Pete

+1

Спасибо, ребята. новые продукты(); правильно –

ответ

0

Не новый товар(); ? (множественное число) - Farkie Oct 26 at 18:52 Вы назвали свой класс Продукты :) - Pete Oct 26 at 18:53 Спасибо, ребята. новые продукты(); правильно - ronal vasquez Oct 26 at 19:00

@Farkie спасибо, имя класса неверно в моем приложении. - ronal vasquez Oct 26 at 19:02
@Pete благодарит вас, это правильно ваше решение. - ronal vasquez Oct 26 at 19:04

Какой браузер вы используете? Я бы рекомендовал проверить PHPStorm, это значительно улучшилось за последние несколько лет. Он имеет 1-месячную бесплатную версию. - Tomáš Votruba 26 окт в 19:13

Браузер? Вы имеете в виду IDE? - Farkie Oct 26 at 19:36