[英]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.