首页 开发编程 正文

php代码怎么做 高质量PHP代码的50个技巧3

1.system2.passthru3.exec4.shell_exec*/functionterminal($command){//systemif(function_exists('system')){ob_start();}//passthruelseif(function_exists('passthru')){ob_star...

今天给各位分享php代码怎么做的知识,其中也会对PHP基础代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录:

高质量PHP代码的50个技巧(3)

42

43

44

45

/**

Method to execute a command in the terminal

Uses :

1. system

2. passthru

3. exec

4. shell_exec

*/

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');

上面的函数将运行shell命令, 只要有一个系统函数可用, 这保持了代码的一致性.

5. 灵活编写函数

?

1

2

3

4

5

6

function add_to_cart($item_id , $qty)

{

$_SESSION['cart']['item_id'] = $qty;

}

add_to_cart( 'IPHONE3' , 2 );

使用上面的函数添加单个项目. 而当添加项列表的时候,你要创建另一个函数吗? 不用, 只要稍加留意不同类型的参数, 就会更灵活. 如:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

function add_to_cart($item_id , $qty)

{

if(!is_array($item_id))

{

$_SESSION['cart']['item_id'] = $qty;

}

else

{

foreach($item_id as $i_id = $qty)

{

$_SESSION['cart']['i_id'] = $qty;

}

}

}

add_to_cart( 'IPHONE3' , 2 );

add_to_cart( array('IPHONE3' = 2 , 'IPAD' = 5) );

现在, 同个函数可以处理不同类型的输入参数了. 可以参照上面的例子重构你的多处代码, 使其更智能.

6. 有意忽略php关闭标签

我很想知道为什么这么多关于php建议的博客文章都没提到这点.

?

1

2

3

?php

echo "Hello";

//Now dont close this tag

这将节约你很多时间. 我们举个例子:

一个 super_class.php 文件

?

1

2

3

4

5

6

7

8

9

?php

class super_class

{

function super_function()

{

//super code

}

}

?

//super extra character after the closing tag

index.php

?

1

2

require_once('super_class.php');

//echo an image or pdf , or set the cookies or session data

这样, 你将会得到一个 Headers already send error. 为什么? 因为 “super extra character” 已经被输出了. 现在你得开始调试啦. 这会花费大量时间寻找 super extra 的位置。因此, 养成省略关闭符的习惯:

?

1

2

3

4

5

6

7

8

9

?php

class super_class

{

function super_function()

{

//super code

}

}

//No closing tag

这会更好.

7. 在某地方收集所有输入, 一次输出给浏览器

这称为输出缓冲, 假如说你已在不同的函数输出内容:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

function print_header()

{

echo "p id='header'Site Log and Login links/p";

}

function print_footer()

{

echo "p id='footer'Site was made by me/p";

}

print_header();

for($i = 0 ; $i 100; $i++)

{

echo "I is : $i ';

}

print_footer();

替代方案, 在某地方集中收集输出. 你可以存储在函数的局部变量中, 也可以使用ob_start和ob_end_clean. 如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

function print_header()

{

$o = "p id='header'Site Log and Login links/p";

return $o;

}

function print_footer()

{

$o = "p id='footer'Site was made by me/p";

return $o;

}

echo print_header();

for($i = 0 ; $i 100; $i++)

{

echo "I is : $i ';

}

echo print_footer();

为什么需要输出缓冲:

可以在发送给浏览器前更改输出. 如 str_replaces 函数或可能是 preg_replaces 或添加些监控/调试的html内容.

输出给浏览器的同时又做php的处理很糟糕. 你应该看到过有些站点的侧边栏或中间出现错误信息. 知道为什么会发生吗? 因为处理和输出混合了.

8. 发送正确的mime类型头信息, 如果输出非html内容的话.

输出一些xml.

?

1

2

3

4

5

6

$xml = '?xml version="1.0" encoding="utf-8" standalone="yes"?';

$xml = "response

code0/code

/response";

//Send xml data

echo $xml;

工作得不错. 但需要一些改进.

?

1

2

3

4

5

6

7

$xml = '?xml version="1.0" encoding="utf-8" standalone="yes"?';

$xml = "response

code0/code

如何写出好的 PHP 代码?

编写良好的代码是一种艺术。如果一个程序员遵循一些良好的编程习惯,那么他就可以成为一个优秀的程序员。实际上,相对于你写代码的时间,你很可能会花更多的时间在代码维护上;更不用说整个应用程序的维护。建立良好的编码习惯,能够提高像模块化这样的设计因素,你的代码也将更容易理解,因此,维护起来更容易、成本更低。而不良的编码习惯会在代码中存在缺陷,并可能导致代码很难维护。在本文中,我们将探讨一些良好的编程习惯,这将帮助你避免代码中的缺陷。1编写模块化代码 良好的PHP代码应该是模块化代码。PHP的面向对象的编程功能是一些特别强大的工具,可以把你的应用程序分解成函数或方法。你应该尽可能多的从你的应用程序的服务器端分开前端的HTML/CSS/JavaScript代码。你也可以在任何PHP框架上遵循MVC(模型-视图-控制器)模式。2代码编写规范 良好的PHP代码应该有一套完整的代码编写规范。通过对变量和函数的命名,统一的方法访问数据库和对错误的处理,以及同样的代码缩进方式等来达到编程规范,这样可以使你的代码更具可读性。3编写可移植代码 良好的PHP代码应该是可移植的。你可以使用php的现有功能,如魔术引号和短标签。试着了解你的需求,然后通过适应PHP特性来编写代码让代码独立、可移植。4编写安全代码 良好的PHP代码应该是安全的。PHP5提供了出色的性能和灵活性。但是安全问题完全在于开发人员。对于一个专业的PHP开发人员来说,深入理解重大安全漏洞是至关重要的,如:跨站点脚本(XSS)、跨站请求伪造(CSRF)、代码注入漏洞、字符编码漏洞。通过使用PHP的特殊功能和函数,如:mysql_real_escape_string等等,你可以编写出安全的代码。6避免短标签 把所有用到短标签的替换成完整的PHP标签。7使用单引号代替双引号 字符串始终使用单引号代替双引号,以避免PHP搜索字符串内的变量导致的性能下降。8转义字符串输出 使用ENT_QUOTES作参数传递给htmlspecialchars函数,以确保单引号(')也转换成HTML实体,这是一个好习惯。9使用逗号分隔字符串输出 通过echo语句输出使用逗号(,)分隔的字符串,要比使用字符串连接操作符(.)的性能更好。10输出前检查传来的值输出前检查传过来的值$_GET['query']。使用isset或empty函数,可以用来检查变量是否为null值。

怎么编写php编程?

示例代码如下:

?php

//接收输入的分数

$score = $_GET['score'];

$score = (int)$score;

if( $score=90 $score=100 ) {

echo "优秀";

} elseif( $score=75 $score90 ) {

echo "良好";

} elseif( $score=60 $score75 ) {

echo "及格";

} elseif( $score=0 $score60 ) {

echo "不及格";

} else {

echo "分数输入错误!";

}

关于php代码怎么做和PHP基础代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文转载自互联网,如有侵权,联系删除