[英]How to I make this PHP function more efficient?
我想找到一种更有效的方法来实现这个功能:
<?php
function zipError($title, $desc) {
echo '<style type="text/css">';
echo 'body { margin:0;font-family:Arial, sans-serif;font-size:13px;background:#DDD;color:#1A1A1A; }';
echo 'h1 { color:#FFF;font-family:Arial;font-weight:bold;text-align:center; }';
echo 'h2 { color:#1C1C1C;font-family:Arial;font-weight:bold;text-align:center;padding-bottom:4px;border-bottom:1px solid #AAA; }';
echo '#error#head { background:#1C1C1C;padding:10px;;border-bottom:5px solid #FFF; }';
echo '#error#content { border:1px solid #AAA;background:#FFF;padding:20px;width:780px;margin:30px auto; }';
echo 'p { text-align:center;padding:10px;color:#1A1A1A;font-family:verdana; }';
echo '</style>';
echo '<title>' . $title . '</title>';
echo '<div id="error head"><h1>An error has occurred.</h1></div>';
echo '<div id="error content"><h2>'.$title.'</h2><p>'.$desc.'</p></div>';
}
此代码用于抛出错误。 例如:
die(zipError('Session Not Found', 'Your session has not been found! Please re-login now!'));
虽然这可以完成工作,但我正在努力学习,所以我想让这个功能更有效,而不是硬编码。 有任何想法吗?
我要做的第一件事就是退出PHP以获取所有HTML代码,然后重新启动以回显数据。 从维护的角度来看,它只是让它更具可读性。
接下来,使用单独的CSS文件以便可以共享它。 它可以是它自己的小文件,也可以合并为更大的文件。
这是真的。 说实话,并没有真正优化的PHP
这看起来像错误模板,我会做这样的事情:
创建sparate错误tamplate:例如error.php:
<html>
<head>
<style>
//style here...
</style>
<title><?= $title?></title>
</head>
<body>
//and soon ...
</body>
和功能:
public function zipError($title, $desc){
include('error.php');
}
和用法:
... die(zipError('Session Not Found', 'Your session has not been found! Please re-login now!'));
现在,您可以轻松编辑/更改错误模板,只要它能够回显$title
和$desc
以及您想要的任何其他参数。
或
echo "Output text/HTML using one statement
instead of many, which can include\n
line breaks and can span multiple lines";
要么
Only drop into PHP to output variables like <?=$var?> or <?php echo $var; ?>
另外, die和exit输出传递的参数 - 在这种情况下是zipError()的返回值。 因此要么从zipError返回字符串而不是回显它,要么在调用函数时退出函数并在函数内部退出而不是用die()包装调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.