如何提高PHP代码的质量
怎么提高PHP代码的质量?
做为一个php程序开发人员,如何能高效地完成编程任务是人人都期待的,那么今天为您带来php学习干货知识点-提高PHP代码的质量
1、不要应用绝对门路
遴选是应用绝对门路:
define(“ROOT” , “/var/www/project/“);
require_once(ROOT 。 “。。/。。/lib/some_class。php”);
我们界说了一个绝对门路, 值被写死了。 我们还可以或许改良它。 门路 /var/www/project 也大概会篡改, 那末我们每次都要篡改它吗? 不是的, 我们可以或许应用__FILE__常量, 如:
define(“ROOT” , pathinfo(__FILE__, PATHINFO_DIRNAME));
require_once(ROOT 。 “。。/。。/lib/some_class。php”);
2、不要间接应用 require, include, include_once, required_once
可以或许在剧本头部引进多个文件, 像类库, 对象文件和副手函数等, 如:
require_once(“lib/Database。php”);
require_once(“lib/Mail。php”);
require_once(“helpers/utitlity_functions。php”);
3、为应用保留调试代码
在开辟情况中, 我们打印数据库查问语句, 转存有疑难的变量值, 而一旦疑难处置, 我们正文或删去它们。 然则异常好的做法是保留调试代码。
define(“ENVIRONMENT” , “development”);
if(! $db->query( $query )
{
if(ENVIRONMENT == “development”)
{
echo “$query failed”;
}
else
{
echo “Database error。 Please contact administrator”;
}
}
4、应用可跨渠道的函数实行敕令
system, exec, passthru, shell_exec 这4个函数可用于实行系统敕令。 每一个的做法都有纤细差异。
疑难在于, 当在共享主机中, 某些函数大概被遴选性的禁用。 大多数菜鸟趋于每次重要检查哪一个函数可用, 然则再应用它。
function terminal($command)
{
//system
if(function_exists(“system”))
{
ob_start();
system($command , $return_var);
$output = ob_get_contents();
ob_end_clean();
}
//passthru
else if(function_exists(“passthru”))
{
ob_start();
passthru($command , $return_var);
$output = ob_get_contents();
ob_end_clean();
}
//exec
else if(function_exists(“exec”))
{
exec($command , $output , $return_var);
$output = implode(“n” , $output);
}
//shell_exec
else if(function_exists(“shell_exec”))
{
$output = shell_exec($command) ;
}
else
{
$output = “Command execution not possible on this system”;
$return_var = 1;
}
return array(“output” => $output , “status” => $return_var);
}
terminal(“ls”);
5、敏锐编写函数
function add_to_cart($item_id , $qty)
{
$_SESSION[“cart“][“item_id”] = $qty;
}
add_to_cart( “IPHONE3” , 2 );
6、应用 htmlentities 设置精确的编码选项
$value = htmlentities($this->value , ENT_QUOTES , CHARSET);
php5。4往后, 默认编码为UTF-8, 这將处置很多疑难。 但如果你的应用是多说话的, 仍然要留神编码疑难。
7、不要在应用中应用gzip压缩输入, 让apache处置
考虑过应用 ob_gzhandler 吗?这么做是毫无意义的。
php只应用来编写应用。 不该费心服务器和浏览器的数据传输优化疑难。
应用apache的mod_gzip/mod_deflate 模块压缩内容。
来源:https://www.weidianyuedu.com
还没有评论,来说两句吧...