Как я могу определить, какая версия CakePHP – это проект?

Возможно ли знать версию CakePHP, используемую для создания проекта, только доступный код приложения?


Моя проблема:

Я загрузил проект, сделанный CakePHP, и я действительно не могу сказать, какую версию Cake использовать. Файлы говорят, например, @version $Revision: 8004 $ , но в некоторых файлах это отличается. Должен ли я предположить, что самая высокая версия (8004) является правильной для использования?

Кажется, это примерно с 2008 года, поэтому я предполагаю, что это версия 1.x.

PD: Вот код проекта.

Я обнаружил, что версия, начиная с CakePHP 2.3.0, хранится в статическом файле под root Cake lib.

 bash #: cat $CAKE_ROOT/lib/Cake/VERSION.txt //////////////////////////////////////////////////////////////////////////////////////////////////// // +--------------------------------------------------------------------------------------------+ // // CakePHP Version // // Holds a static string representing the current version of CakePHP // // CakePHP(tm) : Rapid Development Framework (http://cakephp.org) // Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) // // Licensed under The MIT License // Redistributions of files must retain the above copyright notice. // // @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) // @link http://cakephp.org // @package cake.libs // @since CakePHP(tm) v 0.2.9 // @license MIT License (http://www.opensource.org/licenses/mit-license.php) // +--------------------------------------------------------------------------------------------+ // //////////////////////////////////////////////////////////////////////////////////////////////////// 2.3.0 

Отредактируйте core.php, добавьте сверху:

 echo Configure::version(); 

Для cakephp 3.x find \ vendor \ cakephp \ cakephp \ VERSION.txt

введите описание изображения здесь

 //////////////////////////////////////////////////////////////////////////////////////////////////// // +--------------------------------------------------------------------------------------------+ // // CakePHP Version // // Holds a static string representing the current version of CakePHP // // CakePHP(tm) : Rapid Development Framework (http://cakephp.org) // Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) // // Licensed under The MIT License // Redistributions of files must retain the above copyright notice. // // @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) // @link http://cakephp.org // @since CakePHP(tm) v 0.2.9 // @license http://www.opensource.org/licenses/mit-license.php MIT License // +--------------------------------------------------------------------------------------------+ // //////////////////////////////////////////////////////////////////////////////////////////////////// 3.3.2 

мы можем проверить следующий путь

Path = корень / Lib / торт / VERSION.TXT

Открыть файл версии.txt

последняя строка показывает версию cakephp

Я уверен, что это для ветки CakePHP 1.2.x, а не для ветки CakePHP 1.3.x.

Здесь вы можете скачать ветку 1.2.x.

Причина, по которой я думаю, что это 1.2, состоит в том, что все заголовки комментариев принадлежат Copyright 2005-2008 , и только этот диапазон 1.2.x использует этот диапазон дат. Все в ветви 1.3.x – это Copyright 2005-2010 или новее.

Простой способ: просто найдите файл VERSION.txt . Откройте его, чтобы проверить версию.

Путь для версии.txt

Для торта 1. * : торт / VERSION.txt

Для cakephp 2. * : lib / Cake / VERSION.txt

Для cakephp 3. * : vendor / cakephp / cakephp / VERSION.txt

Это похоже на невозможное (без прохождения всех изменений версии, проверки структуры файлов / папок, комментариев … и т. Д.).

И, это по уважительной причине ИМО.

Когда я запускаю приложение, я создаю его в последней версии. Но, даже к тому времени, когда он станет общедоступным, я обычно нахожусь в новом выпуске CakePHP и буду продолжать обновлять его, когда они выйдут. Мои файлы APP не меняются вообще (кроме запрошенных изменений в примечаниях к выпуску – если есть). Изменяется только каталог cakephp / lib (и, к сожалению, у вас его нет).

Если вам повезет, а предыдущий разработчик сохранит версии Cake в отдельных папках вместо перезаписи, вы можете найти номер версии в своем webroot/index.php в строке CAKE_CORE_INCLUDE_PATH , но в вашем случае ее там нет.

Если у вас есть фактические файлы Cake (я знаю, что вы этого не делаете, но другие люди могут), то вы можете посмотреть в файле cake/VERSION.txt для используемой версии.

На странице приветствия версия написана, нам не нужна какая-либо команда для проверки версии. Если все-таки это проблема, вы как-то не найдете страницу с положительным результатом. вы можете использовать

 echo Configure::version(); 

Также для консоли Linux вы можете проверить версию CakePHP следующим образом.
Измените example.com своим доменным именем.

 # grep ^[^\/] /var/www/vhosts/example.com/httpdocs/lib/Cake/VERSION.txt 

в торте 3.0 из корневого каталога приложения >>> cat vendor / cakephp / cakephp / VERSION.txt

Для Cakephp3 откройте командную строку и перейдите в каталог Project App и введите bin/cake , он покажет вам что-то вроде этого *

Добро пожаловать в CakePHP v3.3.5 Console

Какова ваша текущая версия cakephp.

Это лучший способ получить его во время выполнения

 Configure::version() 

Документы 3.x

2.x docs

Другой способ – найти VERSION.txt

2.x lib / Cake / VERSION.txt

3.x vendor / cakephp / cakephp / VERSION.txt