我该如何找出我正在使用的Doctrine版本?

25

我已经使用CodeIgniter一段时间了,但我不记得是安装了版本2还是只是从另一个项目中复制了文件。

有任何想法吗?

7个回答

49

请查看文件vendor/doctrine/orm/lib/Doctrine/ORM/Version.php,其中有一个常量显示版本号。虽然在运行的应用程序中也可以访问该版本号,但这种方法更容易。


这不适用于Symfony 5*。我猜这个文件存在于Symfony 3或4。 - Droom
我正在使用Symfony 3.4和Doctrine 2.5,文件位于vendor/doctrine/orm/lib/Doctrine/ORM/Version.php。 - SteveExdia
在sf 6中,路径稍有变化:vendor/doctrine/orm/lib/Doctrine/ORM/Version.php,我从我的项目文件夹中运行:cd vendor/doctrine/orm/ && grep -rn VERSION - undefined

42
如果您正在使用Composer来处理项目中的依赖关系,则应尝试使用以下内容:
php composer.phar show --installed

或者

php composer.phar show -i | grep doctrine

输出将会是类似这样的内容:

doctrine/annotations                     v1.1.2             Docblock Annotations Parser
doctrine/cache                           v1.3.0             Caching library offering an object-oriented API for many cache backends
doctrine/collections                     v1.2               Collections Abstraction library
doctrine/common                          v2.4.1             Common Library for Doctrine projects
doctrine/data-fixtures                   v1.0.0             Data Fixtures for all Doctrine Object Managers
doctrine/dbal                            2.3.4              Database Abstraction Layer
doctrine/doctrine-bundle                 v1.2.0             Symfony DoctrineBundle
doctrine/doctrine-fixtures-bundle        v2.2.0             Symfony DoctrineFixturesBundle
doctrine/inflector                       v1.0               Common String Manipulations with regard to casing and singular/plural rules.
doctrine/lexer                           v1.0               Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.
doctrine/orm                             2.3.5              Object-Relational-Mapper for PHP

php composer.phar show --installed 给出了错误 Could not open input file: composer.phar(我是从仓库顶层文件夹运行的)。我不得不运行 composer show --installed | grep doctrine - SteveExdia

8
在我的symfony2和symfony3项目中,找到正确的Version.php文件,第39行的路径是:

Vendor/doctrine/orm/lib/Doctrine/ORM/Version.php


6

core.php:

class Doctrine_Core
{
    /**
     * VERSION
     */
    const VERSION                   = '1.2.4';

...

谢谢,对于那些想要找到core.php的人,你可以在你的项目源代码或者Symfony默认安装中查找:...\php5\PEAR\symfony\plugins\sfDoctrinePlugin\lib\vendor\doctrine\Doctrine。 - xtrm

5

针对Windows用户:

在您的Symfony2项目中:

\vendor\doctrine\orm\lib\Doctrine\ORM\Version.php

寻找类似以下的内容:
/**
 * Current Doctrine Version
 */
const VERSION = '2.4.6';

1
如果您已经安装了composer并且使用其可执行文件的PATH路径,那么您可能会收到一个错误,即composer.phar不存在。
以下方法适用于我:
% composer show --installed | grep "doctrine/orm"
您应该会得到显示版本号的输出:
You are using the deprecated option "installed". Only installed packages are shown by default now. The --all option can be used to show all packages.
doctrine/orm                             v2.5.14 Object-Relational-Mapper for PHP

注意,你不需要 | grep 部分;如果你删除它,你将会看到项目中从 composer 安装的所有东西。你可以使用 | grep doctrine 来查看所有与 Doctrine 相关的已安装包版本。

0

对于 Doctrine 版本 1.*,打开文件 /doctrine/Doctrine/Core.php

应该在开头看到版本号。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接