假设我有一些像这样的代码:
<html>
<head><title>Title</title></head>
<body>
<?php
if (!$someCondition){
die();
}
else{
#Do something
}
?>
</body>
<html>
Run Code Online (Sandbox Code Playgroud)
我希望这段代码的目的很简单.如果满足某个条件(即无法连接到数据库),那么程序应该死掉,否则它应该执行.执行die()函数时出现问题.它停止右那里,只发送前三行的浏览器,但不是最后两行.
是否有一个功能,我可以使用而不是die(),以便php块将停止执行,但静态HTML文本仍然通过?
将程序逻辑与演示文稿分离.阅读MVC,模板.
最简单的形式就是这样:
<?php
function logic() {
if (!$someCondition) {
return 'display_empty_page';
} else {
return 'display_other_stuff';
}
}
presentation(logic());
Run Code Online (Sandbox Code Playgroud)
对于其他情况,哪里die()
或哪些是不可避免的(例如致命错误或第三方代码死亡),有涉及输出处理程序的黑客攻击:
ob_start('myhandler');
function myhandler($page) {return $page.' extra markup';}
die();
Run Code Online (Sandbox Code Playgroud)
虽然我建议仅将其用于诊断/调试目的.
归档时间: |
|
查看次数: |
3323 次 |
最近记录: |