Здравствуйте, я решил выучит ZF3. Смотрю видео-уроки , правда по ZF2, нашел книгу по третьему зенду. Дошел до создания сущностей с БД. В видео-уроках сущности создаются через .bat файл в командной строке. У меня они так не создаются, в комментариях к видео нашел код который из командной строки делает тоже самое
doctrine-module orm:convert-mapping --namespace="Shop\Entity\\" --force --from-database annotation ./module/Shop/src/
и
doctrine-module orm:generate-entities ./module/Shop/src/ --generate-annotations=true
Doctrine устанавливал
от сюда создал bootstrap.php
<?php
// bootstrap.php
require_once "../../vendor/autoload.php";
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
use Shop\Entity;?
$paths = array(Entity);?
$isDevMode = false;
// the connection configuration
$dbParams = array(
'driver' => 'pdo_mysql',
'user' => 'root',
'password' => '1',
'dbname' => 'shop',
);
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$entityManager = EntityManager::create($dbParams, $config);
где знаки вопроса, в коде я не уверен (правильно ли я указал путь).
псевдоним Shop\Entity прописан у меня в module\Shop\config\module.config.php
<?php
namespace Shop;
use Zend\Router\Http\Segment;
use Zend\ServiceManager\Factory\InvokableFactory;
return [
'doctrine' => [
'driver' => [
'shop_entity' => [
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => [
__DIR__. '/../src/Shop/Entity',
],
],
'orm_default' => [
'drivers' => [
'Shop\Entity' => 'shop_entity'
]
]
]
],
'router' => [
'routes' => [
'shop' => [
'type' => Segment::class,
'options' => [
'route' => '/[:action/][:id/]',
'constraints' => [
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
],
'defaults' => [
'controller' => Controller\IndexController::class,
'action' => 'index',
],
],
],
],
],
'controllers' => [
'factories' => [
Controller\IndexController::class => InvokableFactory::class,
],
],
'view_manager' => [
'template_path_stack' => [
__DIR__ . '/../view',
],
],
];
файл bootstrap.php находится в \config\autoload\, а cli-config.php в \config\
<?php
use Doctrine\ORM\Tools\Console\ConsoleRunner;
// replace with file to your own project bootstrap
require_once '/autoload/bootstrap.php';
// replace with mechanism to retrieve EntityManager in your app
$entityManager = GetEntityManager();
return ConsoleRunner::createHelperSet($entityManager);
Так вот, когда в командной строке ввожу
doctrine orm:convert-mapping --namespace="Shop\Entity\\" --force --from-database annotation ./module/Shop/src/
она мне выдает что файл cli-config.php или config\cli-config.php отсутствует и предлагает воспользоваться образцом который у меня и так написан уже. Возможно я что то с адресами напутал, даже скорее всего раз не находит этот файл. И еще в примере установки в разделе Setting up the Commandline Tool есть такая строка
php vendor/bin/doctrine
для чего она не пойму, когда ее запускаю она мне просто содержимое файла выдает и все. И крайний вопрос: Как создать Entity в zf3 через командную строку?
Только что узнал что у меня ни где не прописана функция GetEntityManager() которая вызывается в cli-config.php