我不确定我的问题的正确措辞是什么,但我添加了一个enum(NP_PostTypeType)因为我需要知道我的初始枚举(NP_PostType)中每个项目的类型是什么.
我将当前的PostType存储在$postType一个方法中,现在在该方法中我需要提取每种类型的类型.
我尝试做的是:switch(NP_PostTypeType::$type),但这会产生:Fatal error: Access to undeclared static property: NP_PostTypeType::$type
这些是我的2个枚举:
abstract class NP_PostType extends BasicEnum {
const Event = "event";
const Job = "job";
const Quote = "quote";
const Status = "status";
const Video = "video";
}
abstract class NP_PostTypeType extends BasicEnum {
const Event = "type";
const Job = "type";
const Quote = "format";
const Status = "format";
const Video = "format";
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
小智 5
你不能像使用静态属性那样访问常量,常量函数是你的解决方案:
$type = constant('NP_PostTypeType::' . $postType);
Run Code Online (Sandbox Code Playgroud)
但是要小心,你的$postType案例必须匹配你的NP_PostTypeType常量名称(目前不是这种情况),你应该将你的NP_PostType类更新为:
abstract class NP_PostType extends BasicEnum {
const Event = "Event";
const Job = "Job";
const Quote = "Quote";
const Status = "Status";
const Video = "Video";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |