php - 由于 PHP 中的分号省略而显示 HTTP 500 错误是否正常?
问题描述
给定以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Index PHP</title>
</head>
<body>
<?php
class Student {
}
$classes = get_declared_classes();
echo "Classes:" . implode(',', $classes) . "<br/>";
$class_names = ["Product", "Student", "student"];
foreach($class_names as $class_name) {
if(class_exists($class_name)) {
echo "{$class_name} is a declared class. <br />";
} else {
echo "{$class_name} is not a declared class <br/> ";
}
}
?>
</body>
</html>
如果我省略任何分号,PHP 会发出HTTP ERROR 500
, 并且甚至不会尝试打开文件。这似乎与我知道的以前的语言(JS、Ruby)背道而驰,至少会显示网页,然后在必要时抛出错误。
我的问题是,如果省略分号,产生的 HTTP ERROR 500 是语言设计的结果,还是我的 PHP 配置(使用 MAMP)的结果?
解决方案
PHP 中几乎总是需要分号。省略它们会导致解析错误,这将导致服务器返回 500 错误。因此,要回答您的问题,这是语言设计的结果,而不是您的配置。
推荐阅读
- javascript - 如何通过jQuery从多个表中搜索数据
- .net-core - dotnet 应用程序,指定使用 appsettings 的环境
- diff - 比较两个 tar.gz
- scala - 在一列中嵌套数据
- python - 将 Tkinter 条目存储到新变量中
- jhipster - 在 Jhipster 模块中生成实体
- html - 调整窗口大小而不是挤压它们时将元素推离屏幕
- javascript - ionViewDidEnter 上的 scrollToBottom - 离子
- css - 在忍者表单中选择后隐藏单选按钮并更改框轮廓颜色
- visual-studio - 如何将我的批准添加到静态类 AssignmentMapType