php基础: 如何提高PHP代码的质量

转自:微点阅读 https://m.weidianyuedu.com/

怎么提高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 模块压缩内容。


版权声明:本文为hdxx2022原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。