Как мне включить внешний файл php в модуль magento? - PullRequest
4 голосов
/ 22 декабря 2010

Я создаю некоторый модуль magento, и мне нужно использовать некоторые классы 3rdParty "ThiredPartyClassA" и "ThiredPartyClassB", которые находятся во внешнем файле "3rdPartyCode.php".

, куда следует поместить файл thirdPartyCode.php?и как я должен ссылаться (require_once) на то, чтобы я мог использовать его в одном из моих обработчиков действий?

Спасибо, Eyal

Ответы [ 3 ]

14 голосов
/ 23 декабря 2010

В итоге я создал каталог lib в главном каталоге моих модулей. Это казалось «лучшим из обоих миров».

$ExternalLibPath=Mage::getModuleDir('', 'My_Module') . DS . 'lib' . DS .'EXTERNALLIB.php';
require_once ($ExternalLibPath);
4 голосов
/ 22 декабря 2010

Вы можете запрашивать файлы в PHP так же, как и без Magento, поэтому вы можете использовать require_once, если это необходимо.Если вы хотите сохранить свой код в чистоте, вы можете поместить его в папку /lib в Magento, поскольку это системная библиотека.Я не уверен, что это путь по умолчанию для включения, поэтому вам, возможно, придется возиться с требованием.

Для чистоты вы можете также захотеть обернуть этот код и использовать модели / помощники Magentoманипулировать ими.

Надеюсь, это поможет!

Спасибо, Джо

1 голос
/ 22 декабря 2010

Как и в любом PHP-скрипте - вы можете включать файлы куда угодно.

Однако вы можете использовать встроенный автозагрузчик в Magento.Я уверен, что Magento использует Zend для автозагрузки.(В любом случае это доступно для вас)

У Zend, в отличие от Magento, есть хорошая документация.Проверьте это здесь http://framework.zend.com/manual/en/zend.loader.autoloader.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...