导入常量PHP
我有这个档案导入常量PHP,php,drupal,constants,Php,Drupal,Constants,我有这个档案 namespace Drupal\api\ConfigArrays { const jsonApiUris = array( 'insert_publication' => array( 'method' => 'POST', 'uri' => 'node/publication' ) ); } 但当我尝试在某个类中导入时: use const Drupal\api
namespace Drupal\api\ConfigArrays {
const jsonApiUris = array(
'insert_publication' => array(
'method' => 'POST',
'uri' => 'node/publication'
)
);
}
但当我尝试在某个类中导入时:
use const Drupal\api\ConfigArrays\jsonApiUris;
class HttpHelper
{
static public function sendToJsonAPI($content, $endpoint, $token)
{
var_dump(jsonApiUris);
die;
}
}
我的IDE(PhpStorm)可以识别变量和自动完成,但是当我执行它时,会出现这个错误
错误:中未定义常量“Drupal\api\ConfigArrays\JSONAPIRIS”
Drupal\api\Helpers\HttpHelper::sendToJsonAPI()(第21行)
modules/custom/api/src/Helpers/HttpHelper.php)
对于PHP5.6+来说,您的语法很好,但是如果您运行的是以前的版本,则需要使用Drupal\api\ConfigArrays,然后通过ConfigArrays\jsonApiUris访问它
您确定第一个代码段中的代码在到达第二个代码段时已经包含/定义了吗?您正在运行哪个版本的PHP?也可能想从根名称空间
使用const\Drupal\api\Conf…..
我使用的是PHP7.1,我知道我的语法只适用于5.6+版本。我使用的是一个比5.6+版本更大的版本,我使用的是7.1,但是你说的是第一个片段是否在第二个之前声明,我认为是的,因为包含类HttpHelper调用de constant的文件“use const Drupal\api\ConfigArrays\jsonApiUris”,或者您所说的如果在第二个之前声明第一个是什么意思。我认为第一个代码段中的代码没有加载。我已经在一个测试php设置中复制了您的两个代码段,语法很好,问题似乎是它不知道您的第一个代码段的内容。它在哪个文件中,您确定它正在加载到Drupal中吗?我的测试结果<代码>数组(1){[“插入发布”]=>数组(2){[“方法”]=>字符串(4)“发布”[“uri”]=>字符串(16)“节点/发布”}