Я пытаюсь настроить Doctrine 2 как внешнюю библиотеку для моего проекта. Итак, я установил его Composer и выполнил инструкции по документации Doctrine. И командная строка не работает.Конфигурация командной строки Doctrine 2 как внешняя библиотека
Вот часть на доктрине в моем Bootstrap:
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
/* Instantiation of doctrine
---------------------------------------------------------------------------------------------------------------------*/
$paths = array(__DIR__."/Application/Entity");
$isDevMode = true;
// the connection configuration
$dbParams = Yaml::parse(file_get_contents('Application/Config/Private/bdd.yml'));
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$em = EntityManager::create($dbParams, $config);
/*--------------------------------------------------------------------------------------------------------------------*/
Вот содержание моего файла кли-config.php (в корне проекта):
use Doctrine\ORM\Tools\Console\ConsoleRunner;
require_once 'index.php'; // my bootstrap
return ConsoleRunner::createHelperSet($em);
Итак, теперь , в документации говорится, что я могу использовать Doctrine в режиме консоли, набрав: php vendor/bin/doctrine
Но, когда я использую эту команду, она не выполняется. Я просто содержание доктрины файла:
dir=$(d=${0%[/\\]*}; cd "$d"; cd "../doctrine/orm/bin" && pwd)
# See if we are running in Cygwin by checking for cygpath program
if command -v 'cygpath' >/dev/null 2>&1; then
# Cygwin paths start with /cygdrive/ which will break windows PHP,
# so we need to translate the dir path to windows format. However
# we could be using cygwin PHP which does not require this, so we
# test if the path to PHP starts with /cygdrive/ rather than /usr/bin
if [[ $(which php) == /cygdrive/* ]]; then
dir=$(cygpath -m "$dir");
fi
fi
dir=$(echo $dir | sed 's/ /\ /g')
"${dir}/doctrine" "[email protected]"
PHP отлично работает, и я попытался установить проект Symfony (в командной строке тест) и командной строки работы с Symfony. Итак, я думаю, что проблема связана с установкой/настройкой Doctrine.
Я не знаю, что я пропустил, но я не могу использовать Doctrine по командной строке. У кого-нибудь есть идея?
Я нахожусь на окнах. Если я попробую whith «Bash Ubuntu on windows», это сработает (Tanks это уже большой шаг). Но как я могу сделать, чтобы он работал в командной строке Windows? –
Вы можете называть 'php vendor/doctrine/orm/bin/doctrine.php' или' sh vendor/bin/doctrine' – madshvero
Спасибо, что это мне нужно. :) –