【问题标题】:Best practice to display the version of a Symfony application to the user?向用户显示 Symfony 应用程序版本的最佳实践?
【发布时间】:2016-05-03 01:46:25
【问题描述】:

我们在 Symfony2 框架之上构建了一个 Web 应用程序。

现在我们需要在前端显示我们软件的当前版本供用户查看。版本号目前是 git 仓库中的一个标签。

现在,实现这一目标的最佳做法是什么?在 composer.json 中使用的 Composer 文档 discourages the use of the version field

Symfony 本身似乎在app/bootstrap.php.cache 文件中设置了版本字符串: const VERSION ='2.7.6';

有没有关于这个问题的最佳实践?有没有办法直接访问 git 标签名称?还是我应该使用常量或composer.json 方式?

【问题讨论】:

  • 确认:您想显示您的应用程序的版本号?还是组件的版本(即 symfony/symfony)?
  • 我想显示我自己应用程序的版本,而不是 Symfony 版本。 @IlyaYarkovets 建议的 versioning-bundle 看起来很有前途,我会尝试一下。请将其作为答案发布,以便我接受。

标签: php git symfony composer-php version


【解决方案1】:

你可以试试versioning-bundle。来自他们的文档:

  • 将附加参数添加到您的 parameters.yml 文件并保留它 与您当前的应用程序版本一致。
  • 基本版本处理程序 为手动和 git 标签版本控制实现

【讨论】:

  • Neatl - 它试图自动化我在项目中一直在做的事情,将application_version 变量放在parameters.yml.dist 文件中。当然,当我更新我的 git 标签时,我总是忘记更新它。
  • 我将捆绑包配置为生成一个单独的文件(在我的情况下为version.json)并将其添加到.gitignore 文件中。这样,您的 git 中就没有版本字符串,因此不会有任何不一致。唯一要记住的是在部署之前生成文件,但这可以是自动的,也可以自己编写一个部署清单。
【解决方案2】:

现在你可以通过这个例子做任何事情:

   \Symfony\Component\VarDumper\VarDumper::dump(\Symfony\Component\HttpKernel\Kernel::VERSION);

这是 symfony 源代码中的硬编码常量。

你可以:

  • 用 this 编写您自己的 const 代码
  • 请求此信息的函数
  • 触发器或监听器
  • 等等.....

【讨论】:

  • 问题是关于如何访问应用程序本身的版本,该版本仅在 Git 存储库中定义为标签。
猜你喜欢
  • 1970-01-01
  • 2015-10-28
  • 2016-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-26
  • 2011-05-17
  • 2014-05-01
相关资源
最近更新 更多