簡體   English   中英

在 Prestashop 模塊中使用命名空間

[英]Using namespaces in Prestashop module

我們如何使 Prestashop 模塊與使用命名空間的 1.6 版兼容,因為我正在查看 Prestashop 文檔,其中說PrestaShop 1.6 does not fully support namespaces. They throw some issues when used in specific places. PrestaShop 1.6 does not fully support namespaces. They throw some issues when used in specific places. 有什么替代方法嗎? 參考: https://devdocs.prestashop.com/1.7/modules/core-updates/1.6/

您不需要對主文件使用命名空間或“使用”字樣。

我認為您可以在代碼中只使用全名,例如:

$data = \PrestaShop\Some\ClassName::getData();

或者,如果您想根據需要使用命名空間。 您可以為主文件創建一個空的 class 並為父文件使用您的命名空間創建一個 class。

所以我們有 modules/yourmodule/yourmodule.php 作為主文件

<?php

if (!defined('_PS_VERSION_')) {
    exit;
}

require_once(dirname(__FILE__) .'/classes/yourmoduleparent.php');

class YourModule extends \YourModule\Bootstrap {
    
    // The module codes have been transferred
    // to the "/classes/yourmoduleparent.php" file.  
    
}

在模塊/yourmodule/classes/yourmoduleparent.php

<?php

namespace YourModule;

if (!defined('_PS_VERSION_')) {
    exit;
}

use Module;
use Configuration;
use Context;
use Tools;
use Controller;
use PrestaShopException;
use Hook;

class Bootstrap extends Module {
    
    // Your module codes
    
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM