2016-07-19 1 views
0

Я пытаюсь добавить /var/www/html/prestashop/webs/modules/rootpay/override/Rootpay/Client/Service/EcomCheckoutFormServiceClient.php класс до /var/www/html/prestashop/webs/modules/rootpay/rootpay.php.Как я могу импортировать класс PHP для класса rootpay.php в PrestaShop

Я использую импорт в классе rootpay.php как то

require_once _PS_MODULE_DIR_ . 'rootpay/override/Rootpay/Client/Service/EcomCheckoutFormServiceClient.php'; 

класса EcomCheckoutFormServiceClient.php:

<?php 

namespace Rootpay\Client\Service; 

use Rootpay\Client\Configuration\ClientConfiguration; 
use Rootpay\Client\HttpClientTemplate; 

class EcomCheckoutFormServiceClient extends BasePaymentServiceClient 
{ 
    public static function fromConfiguration(ClientConfiguration $configuration) 
    { 
     return new EcomCheckoutFormServiceClient($configuration, new HttpClientTemplate()); 
    } 
} 
?> 

, когда я открыл модуль страницы в странице администратора. Я вижу эту ошибку:

[PrestaShop] Fatal error in module file :/var/www/html/prestashop/webs/modules/rootpay/override/Rootpay/Client/Service/EcomCheckoutFormServiceClient.php: Class 'Rootpay\Client\Service\BasePaymentServiceClient' not found.

BasePaymentServiceClient использование EcomCheckoutFormServiceClient же пространства имен.

ответ

0

Автозагрузчик в Prestashop не имеет понятия о пространствах имен, к сожалению.
Вам нужно будет включить все зависимости в верхней части rootpay.php.

Я предполагаю, что вы пытаетесь включить «модуль», который не совместим с Prestashop.

Таким образом, в верхней части rootpay.php вы должны включать в себя:

<?php 
require_once _PS_MODULE_DIR_ . 'rootpay/override/Rootpay/Client/Configuration/ClientConfiguration.php'; 
require_once _PS_MODULE_DIR_ . 'rootpay/override/Rootpay/Client/HttpClientTemplate.php'; 
require_once _PS_MODULE_DIR_ . 'rootpay/override/Rootpay/Client/Service/BasePaymentServiceClient.php'; 
require_once _PS_MODULE_DIR_ . 'rootpay/override/Rootpay/Client/Service/EcomCheckoutFormServiceClient.php'; 

Если весь ваш «модуль» основано на пространствах имен, я боюсь, вам придется переписать большую часть.

 Смежные вопросы

  • Нет связанных вопросов^_^