Sen kullanmanız gerekir community
, sizin modül diğer Magento geliştiricileri de, kendi Magento projelerinde modülünü kullanmak için izin, halka dağıtılması planlanan eğer.
Bu Varien bir Magento Extension dediği.
Yalnızca halka dağıtmak istemiyorsanız, local
yerine kullanmanız gerekir, ancak belirli bir dükkan (ya da belki kişisel kullanım) için ağırlıklı modülü geliştiriyor.
Daha iyi local
ve community
klasör arasında farkı anlamak için, Magento AutoLoader nasıl çalıştığını bilmek yardımcı olur:
Bir class
Magento örneği üzereyken, AutoLoader PHPs include_path
a> tarafından verilen sırayla sınıfları eşleşen arar.
Magento başlangıçta include_path
app/Mage.php
başlangıç üzerine in ayarlar:
:
define('DS', DIRECTORY_SEPARATOR);
define('PS', PATH_SEPARATOR);
define('BP', dirname(dirname(__FILE__)));
Mage::register('original_include_path', get_include_path());
:
$paths[] = BP . DS . 'app' . DS . 'code' . DS . 'local';
$paths[] = BP . DS . 'app' . DS . 'code' . DS . 'community';
$paths[] = BP . DS . 'app' . DS . 'code' . DS . 'core';
$paths[] = BP . DS . 'lib';
$app_path = implode(PS, $paths);
set_include_path($app_path . PS . Mage::registry('original_include_path'));
:
Magento AutoLoader göründükleri same sırayla yolları arar include_path
:
1st /app/code/local/
2nd /app/code/community/
3rd /app/code/core/
4th /lib/
:
Namespace/Module/Block/Hello.php
* SİZ Namespace_Module_Block_Hello
, örneğin, bu Magentos AutoLoader adlı bir dosya için include_path
tarafından verilen yollarını arıyor olması neden olur adında bir sınıf örneğini çalışıyoruz varsayarsak :
1st /app/code/local/Namespace/Module/Block/Hello.php
2nd /app/code/community/Namespace/Module/Block/Hello.php
3rd /app/code/core/Namespace/Module/Block/Hello.php
4th /lib/Namespace/Module/Block/Hello.php
:
Bulunan first dosya, kazanacak yani örneği olsun. Yani aynı dosya local
bulunmaktadır VE community
, örneğin local
bir örneği olsaydı.
Bu geliştiricilerin özgürce sınıfları görmezden / / geçersiz kılma / aşırı genişletmek için olanak sağlar.
* see lib/Varien/Autoload.php::autoload()
isim dönüşüm kuralları sub>