我需要访问属于某个类的常量,而不是编写类'明确地命名,我想直接从对象中检索它。该对象是另一个对象的属性。
$this->fetcher::BASE_URL
此语句产生错误syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM)
答案 0 :(得分:1)
这是一个丑陋的解决方法......
<?php
class simpleClass {
public function __construct() {
$this->fetcher = new simpleClass2();
}
public function printBaseURL() {
$fetcher = $this->fetcher;
print 'Base URL: ' . $fetcher::BaseUrl;
}
}
class simpleClass2 {
const BaseUrl = 'one';
}
$simpleClass = new simpleClass();
$simpleClass->printBaseURL();
答案 1 :(得分:0)
您可以使用函数返回常量
class MyClass
{
function getConstant() {
return self::CONSTANT . "\n";
}
}
然后调用该函数
$class = new MyClass();
$class->getConstant();
或者只是调用常量
MyClass::CONSTANT;
您可以在类here中找到有关访问常量的更多信息。看一下“用户贡献的笔记”,非常好的例子和解释。