具有Slim框架的条令2.3.6:在何处创建条令_cli.php

具有Slim框架的条令2.3.6:在何处创建条令_cli.php,php,doctrine,slim,Php,Doctrine,Slim,我目前正试图用我的Slim应用程序建立学说 我读了这本指南:。 一切都很好,直到我点击添加条令命令行工具部分 它解释了我需要一个doctor_cli.php文件来设置命令行工具,其中包含以下代码: <?php require 'vendor/autoload.php'; $em = //Some code to create EntityManager $helpers = new Symfony\Component\Console\Helper\HelperSet(array(

我目前正试图用我的Slim应用程序建立学说

我读了这本指南:。 一切都很好,直到我点击添加条令命令行工具部分

它解释了我需要一个doctor_cli.php文件来设置命令行工具,其中包含以下代码:

<?php

require 'vendor/autoload.php';

$em = //Some code to create EntityManager

$helpers = new Symfony\Component\Console\Helper\HelperSet(array(
    'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()),
    'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em)
));

几分钟前我找到了答案。它可能在将来帮助某人

看起来,只要在同一目录下执行命令行,就可以将配置文件放在任何地方


说明: 您可以这样调用命令行工具(请参阅以获取参考):

这将在
vendor/bin/
中调用bash脚本,在
vendor/doctor/orm/bin/
中调用
doctor.php
。 在此文件中,您可以看到以下行:

这意味着:

  • 条令实现使用的配置文件名为
    cli config.php
    ,而不是
    doctor\u cli.php
  • 使用
    getcwd()
    搜索文件,它指的是执行命令行时进入的目录

简言之:
  • any/path/you/want
    中创建cli config.php文件(请参阅以获取参考)。

  • 编辑: 对于原则2.4,您还可以将其放在名为
    config
    的目录中,并在
    config
    父目录中执行命令行工具

    $ vendor/bin/doctrine orm:schema-tool:create
    
    $configFile = getcwd() . DIRECTORY_SEPARATOR . 'cli-config.php';
    
    <?php
    require 'path/to/vendor/autoload.php';
    $em = //Some code to create EntityManager
    $helpers = new Symfony\Component\Console\Helper\HelperSet(array(
        'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()),
        'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em)
    ));
    
    $ cd any/path/you/want
    any/path/you/want$ vendor/bin/doctrine orm:schema-tool:create