Tom*_*Tom 5 php module magento
我即将开始构建我的第一个magento模块,但我找不到任何关于核心本地和社区文件夹之间差异的文献.我注意到有些人在本地和其他社区建立他们的模块,有什么区别,为什么我应该使用其中一个?
谢谢
你想要在当地发展.社区文件夹是/您打算放置从Magento Marketplace下载或购买的模块的地方.我的理解是这个文件夹的使用正在逐步淘汰,并且Varian建议将所有模块放在本地文件夹中,甚至是从市场上下载的模块.
从系统的角度来看,唯一的区别是社区文件夹是在核心文件夹之后搜索的,但在本地文件夹之前.在app/Mage.php中查看此路径设置
$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'));
Run Code Online (Sandbox Code Playgroud)
所以,如果你有两个文件
app/code/community/Companyname/Models/Foo.php
app/code/local/Companyname/Models/Foo.php
Run Code Online (Sandbox Code Playgroud)
Magento将首先使用社区文件夹中的那个.
本地文件夹用于存放只有您会使用的模块。社区文件夹用于最终将被打包并提供(或出售)给 magento 社区的模块。您下载和安装的任何模块都放置在社区文件夹中。Magento 并不真正关心你的模块在哪里,区别在于主要是为了保持模块的组织。无论如何,由于从一种切换到另一种很容易,因此不会给您带来太多困扰。
如果您不知道您的模块属于哪个类别,可以从本地文件夹开始,如果要发布,可以稍后将其移动到社区文件夹。