我有以下内容。
my class
<?php
namespace app\models;
use BingAds\CustomerManagement\CustomerManagementServiceSettings;
和
api class
namespace BingAds\CustomerManagement
{
final class CustomerManagementServiceSettings
{
const SandboxEndpoint = 'https://clientcenter.api.sandbox.bingads.microsoft.com/Api/CustomerManagement/v9/CustomerManagementService.svc';
如何使用类名的变量访问常量?它可以直接实例化类,但是当它是一个变量时,我无法访问或实例化该类。
new CustomerManagementServiceSettings();
$serviceSettingsClass = 'CustomerManagementServiceSettings';
$serviceSettingsClass::SandboxEndpoint; # line 80
给予
PHP致命错误:Class&#39; CustomerManagementServiceSettings&#39;在第80行的/cygdrive/c/Users/Chloe/workspace/bestsales/models/BingAds.php中找不到
这question没有帮助。
在Java中我可以使用
Class c = CustomerManagementServiceSettings.class
String se = (String) c.getField("SandboxEndpoint").get(null);
答案 0 :(得分:1)
观察akhoondi at php.net指出的内容:
必须注意的是,当使用动态类名[...]时,&#34;当前命名空间&#34; [...]是全局命名空间。
因此,为了完成这项工作,您需要在使用动态类名时指定完整的命名空间。