请查看以下代码:
...
class LanguageResources {
const SESSION_LANGUAGE_KEY = 'lang';
public static function getLanguageSettingsFilePath() {
if (isset($_GET[LanguageResources::SESSION_LANGUAGE_KEY])) {
....
我在最后一行获取了一条PHP错误消息。通过常量值进行数组索引访问有什么问题?
Notice: Use of undefined constant SESSION_LANGUAGE_KEY - assumed 'SESSION_LANGUAGE_KEY' in ...languages.php on line 17
答案 0 :(得分:9)
在定义常量的类中,您必须将其引用为self::SESSION_LANGUAGE_KEY
。
答案 1 :(得分:2)
你应该用这个:
self::SESSION_LANGUAGE_KEY
而不是:
LanguageResources::SESSION_LANGUAGE_KEY
Prooflink:http://www.php.net/manual/en/language.oop5.constants.php
答案 2 :(得分:0)
抱歉,我的IDE没有对htdocs文件夹的写入权限,也没有将最新的源代码复制到目标目录(没有警告)。
适用于$_GET[LanguageResources::SESSION_LANGUAGE_KEY]
以及$_GET[self::SESSION_LANGUAGE_KEY]
。
我收到了更多“通知”警报,代表某种“警告”。要停用它们,您必须修改php.ini
并添加~E_NOTICE
:
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE