清除Incenteev ParameterHandler设置的初始参数
Clearing initial parameters set by Incenteev ParameterHandler
我刚收到一个使用 Incenteev ParamemeterHandler package 的现有 PHP 项目,我 运行 composer install
问了我一堆问题。
接受其中一些的默认值似乎是错误的,并且由于重新运行命令没有再次询问我,我想我需要自己编辑app/config/parameters.yml
来修复这个。事实证明,下次我 运行 composer install
它覆盖了新值!
这是出乎意料的,但我想以前的值存储在某个地方并重新用于构建该文件。现在,我想知道如何 "clear" 这些值 and/or 修正我的错误答案?我尝试对该字段进行 grepping(image_upload_dir
在我的例子中),但这只命中了其他 yml 文件,所以我不知道它在哪里隐藏我的缓存响应。
即使对于非 PHP 程序员来说,ParameterHandler
的源代码也非常易于阅读 - 主要部分由 160 lines of very readable PHP 完成。我在那里找到了答案:它使用名为 app/config/parameters.yml.dist
的模板文件(dist
扩展名是关键)作为默认值。
如果那里已经有一个 parameters.yml
文件,它只会提示您输入不存在的值。这意味着我的问题的答案只是删除文件。我也可以删除我希望再次提示我回答的字段,但这比简单地手动编辑文件要直观得多。
我认为我的值被覆盖的原因是 dist
文件有一行包含此内容 image_upload_dir: ~
。我读这个意思是该值是主目录,这是 unices 上波浪字符的通常含义。因此,当我看到生成的文件有对应的 image_upload_dir: null
行时,我感到很惊讶。原来我不熟悉基本的 YAML:波浪字符 ~
表示 nil
或 "empty",这意味着 null
完全符合。
我刚收到一个使用 Incenteev ParamemeterHandler package 的现有 PHP 项目,我 运行 composer install
问了我一堆问题。
接受其中一些的默认值似乎是错误的,并且由于重新运行命令没有再次询问我,我想我需要自己编辑app/config/parameters.yml
来修复这个。事实证明,下次我 运行 composer install
它覆盖了新值!
这是出乎意料的,但我想以前的值存储在某个地方并重新用于构建该文件。现在,我想知道如何 "clear" 这些值 and/or 修正我的错误答案?我尝试对该字段进行 grepping(image_upload_dir
在我的例子中),但这只命中了其他 yml 文件,所以我不知道它在哪里隐藏我的缓存响应。
即使对于非 PHP 程序员来说,ParameterHandler
的源代码也非常易于阅读 - 主要部分由 160 lines of very readable PHP 完成。我在那里找到了答案:它使用名为 app/config/parameters.yml.dist
的模板文件(dist
扩展名是关键)作为默认值。
如果那里已经有一个 parameters.yml
文件,它只会提示您输入不存在的值。这意味着我的问题的答案只是删除文件。我也可以删除我希望再次提示我回答的字段,但这比简单地手动编辑文件要直观得多。
我认为我的值被覆盖的原因是 dist
文件有一行包含此内容 image_upload_dir: ~
。我读这个意思是该值是主目录,这是 unices 上波浪字符的通常含义。因此,当我看到生成的文件有对应的 image_upload_dir: null
行时,我感到很惊讶。原来我不熟悉基本的 YAML:波浪字符 ~
表示 nil
或 "empty",这意味着 null
完全符合。