Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony Composer未安装某些文件(app/console、AutoLoader.php、app_dev.php等)_Symfony_Composer Php_Upgrade_Directory Structure - Fatal编程技术网

Symfony Composer未安装某些文件(app/console、AutoLoader.php、app_dev.php等)

Symfony Composer未安装某些文件(app/console、AutoLoader.php、app_dev.php等),symfony,composer-php,upgrade,directory-structure,Symfony,Composer Php,Upgrade,Directory Structure,我正在用Symfony 2开发一个web应用程序。我自己的捆绑包的代码构成了我的应用程序的核心,应用程序范围设置的一些配置文件由Git控制(主要是目录,src/MyCompany/MyBundle,app/Resources/config,等等),其余由Composer控制(框架、第三方捆绑包等) 到目前为止,我偶尔运行一次/composer自我更新&&./composer.phar更新,从我的存储库的源代码中推送或获取源代码,一切都很顺利 今天,我开始了一个新的工作目录,遇到了一些奇怪的问题

我正在用Symfony 2开发一个web应用程序。我自己的捆绑包的代码构成了我的应用程序的核心,应用程序范围设置的一些配置文件由Git控制(主要是目录,
src/MyCompany/MyBundle
app/Resources/config
,等等),其余由Composer控制(框架、第三方捆绑包等)

到目前为止,我偶尔运行一次
/composer自我更新&&./composer.phar更新
,从我的存储库的源代码中推送或获取源代码,一切都很顺利

今天,我开始了一个新的工作目录,遇到了一些奇怪的问题

我表演了

git clone <my git repo url> www
cd www
composer.phar install
git克隆www
cd www
composer.phar安装
json是我的存储库的一部分,因此它通常足以执行composer,以便安装框架和所有必需的捆绑包,以获得我的web应用程序的完整工作副本

但今天,
composer.phar安装
过早地停止了对丢失文件的抱怨。幸运的是,我仍然有我的旧工作目录,因此我可以手动复制丢失的文件,然后重新启动
composer.phar
。我不得不重复这些步骤好几次,直到我以一个完全正常工作的应用程序结束

丢失的文件是

  • app/console
  • AutoLoader.php
  • app_dev.php
  • AppCache.php
我认为这些文件是Symfony框架的一部分,并希望它们由Composer安装。由于这个原因,它们不在我的修订控制系统的控制之下

我找到了这个。答案非常笼统,也不是特别有用。它只是说,例如,
app/console
应该包含在修订控制中,因为Composer(不再)安装它,并且由于从Symfony 2到3的转换,目录结构发生了变化。但我确信,
app/console
过去是由Composer安装的。因此,情况发生了变化

这就引出了以下问题

  • 是否有任何完整、最新的官方文件
  • 存储库中应该包括哪些内容
  • .gitignore
  • 作曲家管理什么
  • 在Symfony 3的准备工作中,有没有关于如何从旧目录结构转换到新目录结构的文档

  • 我以为我读了Symfony网站“Living on the Edge”中的所有
    README.md
    、所有发布信息和所有内容,但不知何故我错过了这一点。

    使用composer从头开始安装Symfony2的干净方法是使用:

    这将确保创建所有基本结构。之后,您仍然可以插入上一个项目中的自定义项

    然后,您可以将所有内容(除了
    app/config/parameters.yml
    以及
    vendor/
    app/cache
    app/logs
    )添加到存储库中


    关于过渡到SF3,我想只要SF3足够稳定,能够创建这样的文档,就会有一个升级路径。

    1.1。这取决于你希望人们如何取回你的包裹

    1.2。我与您共享我自己的。gitignore:注意,我使用git是为了保护我的文件,而不是让人们获取我的捆绑包:

        # Cache and logs (Symfony2)
    /app/cache/*
    /app/logs/*
    !app/cache/.gitkeep
    !app/logs/.gitkeep
    # Cache and logs (Symfony3)
    /var/cache/*
    /var/logs/*
    !var/cache/.gitkeep
    !var/logs/.gitkeep
    # Parameters
    /app/config/parameters.yml
    /app/config/parameters.ini
    # Managed by Composer
    /app/bootstrap.php.cache
    /var/bootstrap.php.cache
    /bin/*
    !bin/console
    !bin/symfony_requirements
    /vendor/
    # Assets and user uploads
    /web/bundles/
    /web/uploads/
    # PHPUnit
    /app/phpunit.xml
    /phpunit.xml
    # Build data
    /build/
    # Composer PHAR
    
    1.3。composer.json中的所有内容

        # Cache and logs (Symfony2)
    /app/cache/*
    /app/logs/*
    !app/cache/.gitkeep
    !app/logs/.gitkeep
    # Cache and logs (Symfony3)
    /var/cache/*
    /var/logs/*
    !var/cache/.gitkeep
    !var/logs/.gitkeep
    # Parameters
    /app/config/parameters.yml
    /app/config/parameters.ini
    # Managed by Composer
    /app/bootstrap.php.cache
    /var/bootstrap.php.cache
    /bin/*
    !bin/console
    !bin/symfony_requirements
    /vendor/
    # Assets and user uploads
    /web/bundles/
    /web/uploads/
    # PHPUnit
    /app/phpunit.xml
    /phpunit.xml
    # Build data
    /build/
    # Composer PHAR