Yanıtlar:
Magento sürüm 2.0.7'ye kadar sürüm numarası AppInterface::VERSION
sabit tutuldu .
Magento 2.1'in serbest bırakılmasıyla sabit kaldırıldı.
Bu yüzden sürümün gösterildiği adminhtml altbilgi dosyasını kontrol ederseniz 2.0.7'ye kadar
Sabitine atıfta bulundu \Magento\Framework\AppInterface::VERSION
.
Ancak Magento 2.1 sürümünden bu yana, altbilgi dosyası şimdi \Magento\Backend\Block\Page\Footer::getMagentoVersion()
sırayla çağrıları kullanır \Magento\Framework\App\ProductMetadata::getVersion()
.
Önceden ProductMetadata::getVersion()
sabitin değerini döndürmek için kullanılır \Magento\Framework\AppInterface::VERSION
, ancak şimdi composer.json
hem de hem ayrıştırır hem de composer.lock
uygun magento versiyonunu döndürür
Yani hangi versiyonda olursanız olun 2.0.x veya 2.1.x'te, eğer \Magento\Framework\App\ProductMetadata::getVersion()
yöntemi kullanırsanız, her zaman uygun Magento versiyonunu elde edersiniz.
Sonuç:
Magento 1:
Mage::getVersion() //will return the magento version
Magento 2:
//Updated to use object manager
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$productMetadata = $objectManager->get('Magento\Framework\App\ProductMetadataInterface');
$version = $productMetadata->getVersion(); //will return the magento version
Bunu 2.0.x sürümlerinde kullanabilirsiniz:
echo \Magento\Framework\AppInterface::VERSION;
2.1 sürümü için:
Yol 1, DI kullanarak:
public function __construct(
\Magento\Framework\App\ProductMetadataInterface $productMetadata
) {
$this->productMetadata = $productMetadata;
}
public function getMagentoVersion()
{
return $this->productMetadata->getVersion();
}
Way 2, doğrudan ObjectManager'ı kullanarak:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$productMetadata = $objectManager->get('Magento\Framework\App\ProductMetadataInterface');
echo $productMetadata->getVersion();
Bahsedilen çözümler Magento 2.1'den itibaren uygulanamaz ( \Magento\Framework\AppInterface::VERSION
sabit kaldırıldı)
Sürümü elde etmenin yeni yolu, Ürün Meta Verileri Örneği'nden almaktır (composer.json'dan sürümü okur):
$productMetadata = new \Magento\Framework\App\ProductMetadata();
$version = $productMetadata->getVersion();
(Ürün Meta Verilerini kurucuya enjekte etmek daha iyi \Magento\Framework\App\ProductMetadataInterface
)
Diğer cevapların üstünde, Magento 2 web sitenize erişerek ana versiyonu (örneğin 2.1) alabilirsiniz ./magento_version
Birisinin manuel olarak bulması gerekmesi durumunda. Temel Magento modül versiyonu bu besteci dosyasında bulunur:
vendor/magento/magento2-base/composer.json
Ayrıca yukarıda da belirtildiği gibi, aşağıdaki kod çalışmasını yapmak için:
$productMetadata = new \Magento\Framework\App\ProductMetadata();
$version = $productMetadata->getVersion();
\Magento\Framework\App\ProductMetadata
Şimdi ComposerJsonFinder
örnekleme anında geçirilecek örneği gerektirir .
Bulduğum bir örnek dev/tests/integration/testsuite/Magento/Framework/Composer/ComposerInformationTest.php
:
$directories = [
DirectoryList::CONFIG => [DirectoryList::PATH => __DIR__ . '/_files/'],
DirectoryList::ROOT => [DirectoryList::PATH => __DIR__ . '/_files/' . $composerDir],
DirectoryList::COMPOSER_HOME => [DirectoryList::PATH => __DIR__ . '/_files/' . $composerDir],
];
$this->directoryList = $this->objectManager->create(
'Magento\Framework\App\Filesystem\DirectoryList',
['root' => __DIR__ . '/_files/' . $composerDir, 'config' => $directories]
);
$this->composerJsonFinder = new ComposerJsonFinder($this->directoryList);
Yukarıdaki kod yalnızca bilgilendirme amaçlıdır. Çalışması için daha fazla kazmanız gerekir.
Magento sürümünü almak için aşağıdaki komutu çalıştırabilirsiniz:
php bin/magento --version
Unix benzeri kullanıcılar için
Bunun için herhangi bir PHP kodu yazmaya gerek yok. Magento 2 besteciyi kullandığı için hepsini kolaylaştırır. Bunu iki yolla yapabilirsiniz:
Composer.json dosyasını kontrol edin ve sürüm olarak adlandırılan bir anahtar arayın. Terminali kullanmayı seven benim gibiyseniz, projenin kökü gibi bir şey yapabilirsiniz.
composer licenses | grep Version:
Bu, topluluk veya kurumsal sürüm olup olmadığını kontrol etmek istiyorsanız M2'nin sürümünü döndürür, ardından aşağıdakileri yapın:
composer licenses | grep Name:
magento2 kökündeki composer.json dosyasını kontrol etmeniz yeterlidir, böyle bir metin bulacaksınız
"version": "2.1.2",
composer.json
Tam sürümü göstermeyen "^ 2.1" gibi bir sürüm kısıtlaması içerebilir. composer.lock
Tam olarak hangi sürümün yüklü olduğunu görmek için dosyayı kontrol etmelisiniz .
Bunu dene:
<?php echo __('Magento'); ?>
<?php echo __('ver. %1', \Magento\Framework\AppInterface::VERSION) ?>
2.1 sürümü için:
<?php
$productMetadata = new \Magento\Framework\App\ProductMetadata();
$version = $productMetadata->getVersion();
?>
<?php echo __('ver. %1', $version) ?>
Magento versiyonunu kontrol etmenin bazı yolları
Mage::getVersion() //will return the magento version
Magento 2 versiyonunu kontrol edin
Bunu 2.0.x sürümlerinde kullanabilirsiniz:
echo \Magento\Framework\AppInterface::VERSION;
2.1 sürümü için:
DI kullanarak ilk yol:
public function __construct( \Magento\Framework\App\ProductMetadataInterface $productMetadata ) {
$this->productMetadata = $productMetadata;
}
public function getMagentoVersion() {
return $this->productMetadata->getVersion();
}
Doğrudan ObjectManager kullanarak ikinci yol:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$productMetadata = $objectManager->get('Magento\Framework\App\ProductMetadataInterface');
echo $productMetadata->getVersion();
Magento 2 sürümünü edinmek için aşağıdaki komutu çalıştırabilirsiniz:
php bin/magento --version
Aslında, Magento 2 bestecisini kullandığından, bunun için PHP kodu yazmanıza gerek kalmaz. Bunun yerine, Magento 2 sürümünü bulmak için iki seçenek vardır:
Öncelikle, lütfen composer.json'u deneyin ve sürüm anahtar kelimesini arayın. Terminali kullanmayı tercih ederseniz, projenin kök dizinine bir şey ekleyebilirsiniz.
composer licenses | grep Version:
Magento 2 versiyonunun hava durumunu kontrol etmenin başka bir yolu topluluk veya işletme baskısıdır, lütfen aşağıdakileri
composer licenses | grep Name:
Https://www.mageplaza.com/check-magento-version/ adresini kontrol etmek için web servisini kullanın.
Pls çevrimiçi bu aracı deneyin, hem magento1.x hem de magento2.x sürümleri için çalışıyor https://www.talktojobs.com/check-magento-version/
composer.json
Tam sürümü göstermeyen "^ 2.1" gibi bir sürüm kısıtlaması içerebilir, bu nedenle Magentocomposer.lock
şu anda hangi tam sürümün yüklü olduğunu görmek için dosyayı kontrol eder .