我不明白为什么运行PHP 7.2.9的机器会出现以下错误:
致命错误:无法声明类错误,因为该名称已在第3行的controllers\error.php中使用
我有一个名为controllers/error.php
的文件,它包含:
<?php
class Error {
function __construct() {
echo 'Error: 404 not found the file.';
}
}
同时,我有一个名为/index.php
的文件,它包含:
require "controllers/error.php";
$controller = new Error;
即使我从require
改为require_once "controllers/error.php"
,它仍然在报告相同的消息。
发布于 2018-09-12 19:04:12
发布于 2018-09-12 19:23:58
如前所述,“Error”是PHP 7中内置的类。
(1)将类放在命名空间中
<?php
namespace MyApp\Errors;
class Error {
}
然后当你使用它..。
$error = new \MyApp\Errors\Error;
(2)使用与AppError不同的名称。
<?php
class AppError {
}
推荐:
通常,类应该放在与类本身完全相同的文件中。类"AppError“应该在文件"AppError.php”中
如果您使用的是名称空间,那么命名空间应该与文件所在的dir匹配。如果您有MyApp\Error.php,则将其放入“MyApp/Error.php”中。
类“MyApp\Error\Error”将位于dir /Error.php中。
https://stackoverflow.com/questions/52301800
复制相似问题