升级现有Symfony Flex应用程序ob娱乐下载
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 5.1,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
升级现有Symfony Flex应用程序ob娱乐下载
使用Symfob娱乐下载ony Flex是可选的,甚至在Symfony 4,默认使用Flex。然而,Flex是方便和提高您的生产力,这是强烈建议升级你的现有应用程序。
ob娱乐下载Symfony Flex建议应用程序使用以下目录结构,也就是使用默认情况下在Symfony 4中,但是你可以定制一些目录:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
你的项目/├──资产/├──bin /│└──控制台├──配置/│├──包。php│├──包/│├──路线。yaml│└──服务。yaml├──公共/│└──指数。php├──src /│├──……│└──内核。php├──模板/├──测试/├──翻译/├──var /└──供应商/
这意味着安装ob娱乐下载symfony / flex
依赖在你的应用程序是不够的。你也必须升级上面所示的目录结构。没有自动工具来做这个升级,所以你必须遵循这些手册的步骤:
安装Flex作为一个依赖你的项目:
1
美元作曲家需要symfony / flob娱乐下载ex
如果项目的
composer.json
文件包含ob娱乐下载symfony / symfony
依赖,它仍然取决于Symfony标准版,不再可用在Symfony 4。ob娱乐下载首先,删除该依赖项:1
美元作曲家删除symfony / sob娱乐下载ymfony
现在添加
ob娱乐下载symfony / symfony
包的冲突
部分项目的composer.json
文件这个示例中所示的skeleton-project所以,它将不会再被安装:1 2 3 4 5 6 7 8
{"需要":{“symfony ob娱乐下载/ flex”:“^ 1.0”,+},+ "冲突":{+“sob娱乐下载ymfony / symfony”:“*”}}
现在你必须加入
composer.json
所有的Symfoob娱乐下载ny项目所需的依赖项。一个快速的方法就是添加的所有组件都包含在前面的ob娱乐下载symfony / symfony
依赖和之后你可以删除任何你不需要:1 2 3
美元作曲家需要注释资产orm-pack树枝\记录器梅勒形式安全翻译验证器美元作曲家要求- dev dotenv maker-bundle orm-fixtures分析器
如果项目的
composer.json
文件不包含ob娱乐下载symfony / symfony
依赖性,它已经定义其依赖关系明确,根据Flex。重新安装所有依赖项强迫Flex生成的配置文件配置/
,这是最乏味的升级过程的一部分:1 2
美元rm射频供应商/ *美元作曲家安装
- 无论你的前面的步骤。在这一点上,你会有很多新的配置文件
配置/
。它们包含定义的缺省配置Symfony,所以你必须检查你的原始文件ob娱乐下载应用程序/配置/
新文件并进行所需的更改。Flex配置没有在配置文件中使用后缀,所以旧的应用程序/配置/ config_dev.yml
去配置/包/ dev / * .yaml
等。 最重要的配置文件
应用程序/配置/ services.yml
现在,位于配置/ services.yaml
。复制的内容默认的服务。yaml文件然后添加你自己的服务配置。稍后你可以重新检查这个文件因为由于Symfony的ob娱乐下载自动装配功能你可以去除大部分的服务配置。请注意
确保你没有以前的配置文件
进口
声明指向已经加载的资源内核:configureContainer ()
或内核:configureRoutes ()
方法。其余的移动
app /
内容如下(在那之后,删除app /
目录):应用程序/资源/视图/
- >模板/
应用程序/资源/翻译/
- >翻译/
应用程序/资源/ < BundleName > /视图/
- >模板/包/ < BundleName > /
- 剩下的
应用程序/资源/
文件- >src /资源/
把原来的PHP源代码
src / AppBundle / *
,除了包(如特定的文件AppBundle.php
和DependencyInjection /
),src /
。除了移动文件,更新
自动装载
和autoload-dev
的值composer.json
文件这个例子所示使用App \
和应用程序测试\ \
当应用程序名称空间(高级ide可以自动)。如果您使用多个包来组织你的代码,您必须重新组织你的代码
src /
。例如,如果你有src / UserBundle /控制器/ DefaultController.php
和src / ProductBundle /控制器/ DefaultController.php
,你可以移动它们src /控制器/ UserController.php
和src /控制器/ ProductController.php
。- 将公共资产,如图片或CSS / JS文件编制
公共/ src / AppBundle /资源/
来公共/
(如。公共/图像/
)。 - 转移资产的来源(如SCSS文件)
资产/
和使用Webpack安可管理和编译它们。 ob娱乐下载SYMFONY_DEBUG
和ob娱乐下载SYMFONY_ENV
取而代之的是环境变量APP_DEBUG
和APP_ENV
。将它们的值复制到新的增值,然后删除前的。- 创建新的
公共/ index . php
前端控制器抄袭Symfonob娱乐下载y的指数。php源码如果你在你做出任何定制web / app.php
和web / app_dev.php
文件,将这些更改复制到新文件。现在可以删除旧的web /
dir。 - 更新
bin /控制台
脚本抄袭Symfonob娱乐下载y的bin /控制台来源根据你的原始控制台和改变任何脚本。 - 删除
src / AppBundle /
。 - 把原来的源代码
src /{应用,…}包/
来src /
和更新每一个PHP文件的名称空间App \…
(高级ide可以自动)。 - 删除
bin ob娱乐下载/ symfony_requirements
脚本,如果你需要更换,使用新的ob娱乐下载Symfony要求检查。 - 更新
.gitignore
替换现有的文件var /日志/
条目的var / log /
,这是新的日志目录的名称。
定制Flex路径
Flex食谱做一些假设项目的目录结构。这些假设下,可以通过添加一个定制的关键额外的
你的节composer.json
文件。例如,告诉Flex复制任何PHP类src /应用程序
而不是src
:
1 2 3 4 5 6 7
{“…”:“…”,“额外的”:{“src-dir”:“src /应用程序”}}
可配置的路径是:
bin-dir
:默认为bin /
config-dir
:默认为配置/
src-dir
默认为src /
var-dir
默认为var /
public-dir
默认为公共/
如果你定制这些路径,从配方仍可能包含一些文件复制引用原来的路径。换句话说:你可能需要手动更新一些配方后安装。