как использовать require_once в magento 2

Я пытаюсь включить класс PHP в magento 2.

Я использую require_once и создаю папку lib в корне моего модуля и помещаю туда папку, которая содержит класс ‘lib / Meli / Meli.php’

Также попробуйте в папке проекта ‘lib / lib_web / Meli / Meli.php’

Все безуспешно, любое предложение

Это мой контроллер ‘Controller / Adminhtml / Action / publicar.php’

<?php
namespace Uno\MercadoLibre\Controller\Adminhtml\Action;

use \Magento\Backend\App\Action;

class publicar extends Action {
protected $_session;

protected $_filesystem;
protected $_directoryList;

/**
* @param Action\Context $context
*/
public function __construct(
Action\Context $context,
\Magento\Framework\Filesystem\DirectoryList $directoryList,
\Magento\Framework\Filesystem $filesystem,
\Magento\Customer\Model\Session $session
) {
parent::__construct($context);
$this->_directoryList = $directoryList;
$this->_filesystem = $filesystem;
$this->_session = $session;
}

/**
* {@inheritdoc}
*/
protected function _isAllowed() {
return $this->_authorization->isAllowed('Uno_MercadoLibre::action_publicar');
}

/**
* Publicar action
*
* @return \Magento\Framework\Controller\ResultInterface
*/
public function execute() {
$appId = '123';
$secretKey = 'abcdefghijkl';
$redirectURI = 'https://example.mx';
$siteId = 'MLM';

//$path = $this->_directoryList->getPath('lib_web');
//echo "PATH " . $path.'/Meli/Meli.php';
//require_once($path.'/Meli/Meli.php');

//$libPath = $this->_filesystem->getDirectoryRead(\Magento\Framework\App\Filesystem\DirectoryList::LIB)->getAbsolutePath();

$mediapath = $this->_filesystem->getDirectoryRead(\Magento\Framework\App\Filesystem\DirectoryList::APP)->getAbsolutePath();
$modulePath = $mediapath.'code/Uno/MecadoLibre/lib/Meli/Meli.php';

echo $modulePath;

require_once($modulePath);

$meli = new Meli($appId, $secretKey);
$params = array();

$url = '/sites/' . $siteId;

$result = $meli->get($url, $params);

echo '<pre>';
print_r($result);
echo '</pre>';
die();
}
}

?>

путь к классу возвращается ко мне, но он не помогает мне для require_once

/var/inetpub/example.mx/app/code/Uno/MecadoLibre/lib/Meli/Meli.php

0

Решение

Я думаю, что решение вашей проблемы композитор.

Пожалуйста, проверьте принятый ответ:

Как использовать Composer для автозагрузки классов извне поставщика?

0

Другие решения

Спасибо, ваша информация, я рассказал вам, как я решил это.

В моем классе Meli.php добавить:
namespace Uno\MercadoLibre\Controller\Adminhtml\Action;

В мой контроллер добавить:
use \Uno\MercadoLibre\Lib\Meli\Meli;

Диспетчер объектов

$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $ml_session = $ objectManager->create('\Uno\MercadoLibre\Lib\Meli\Meli', ['client_id' => $ appId, 'client_secret' => $ secretKey, 'access_token' => $ accessToken]);
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector