[英]How to access a constant from an object instead of its class?
我需要訪問一個屬於一個類的常量,但是我不想直接寫該類的名稱,而是想直接從對象中檢索它。 該對象是另一個對象的屬性。
$this->fetcher::BASE_URL
該語句產生錯誤syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM)
這是一個丑陋的解決方法。
<?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();
您可以使用函數返回常量
class MyClass
{
function getConstant() {
return self::CONSTANT . "\n";
}
}
然后調用該函數
$class = new MyClass();
$class->getConstant();
或者簡單地調用常量
MyClass::CONSTANT;
您可以在此處找到有關訪問類內常量的更多信息。 查看“用戶提供的注釋”,那里是很好的示例,並帶有說明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.