php减少代码重用,[PHP] 代码重用与函数

本文详细介绍了PHP中的代码重用,包括require()和include()函数的使用,以及require_once()和include_once()的区别。同时,讲解了如何通过页眉和页脚实现页面的统一。此外,还探讨了函数的定义、调用、命名规则,以及参数的传递方式,特别是值传递和引用传递。最后,解释了return关键字在函数中的作用。
摘要由CSDN通过智能技术生成

1. 代码重用

1.1 代码重用的好处

1) 成本

在软件生命周期中,相当的时间是用在维护、修改、测试和文档化记录上,而不是最初花在编码上的时间,所以应尽量限制所用到的代码行数,最常用的方法就是重新使用已有的代码。

2) 可靠性

如果一个模块代码已经使用了,可以认为它是已通过测试的。使用现存的成熟代码通常比新代码更可靠。

3) 一致性

系统的外部接口应该是一致的,包括用户接口和系统的外部接口。重复使用运行在系统其他部分的代码,所实现的功能就会达到一致。

1.2 包含文件

PHP提供了两个简单的函数require()和include(),允许重新使用任何类型的代码。通常这个文件可以包含任何希望在一个脚本中输入的内容,其中包括PHP、文本、HTML。

require()和include()几乎是相同的,只是在函数失败后,require()函数将给出一个致命错误,而include()只是给出一个警告。

require()函数和include()函数各有一个变体函数,分别是require_once()和include_once(),这两个函数的作用是确保一个包含的文件只能被引入一次。

1.3 页眉和页脚

如果希望在每个页面中都加入页眉和页脚,可以在配置文件php.ini中的auto_preprend_file和auto_append_file的选项设置。使用这些指令包含的文件可以像使用include()语句包含的文件一样,当文件不存在时,将产生一个警告。

2. 使用函数

2.1 函数调用

调用函数最简单和示例:function_name();

以上代码将调用一个名为function_name的函数且不需要任何输入参数。然而,大多数函数都需要一个或更多的参数。我们通过将数据或变量名放在函数名称后面的括号内,从而以参数形式传给函数,例如:function_name('param');

参数可以是任何数据类型,但特定的函数通常会要求特定的数据类型。

如果调用一个并不存在的函数,会得到一个错误信息。如果看到这个错误信息,需要检查函数名是否正确或这个函数是否存在于所用的PHP版本中。

函数调用将不区分大小写,所以调用function_name()、FUNCTION_NAME()都是有效的,而且都将返回相同的结果。

2.2 定义函数

一个函数声明将创建一个新的函数,声明是以关键字function开始的,接下去给出函数名称和必要的参数,然后再给出调用这个函数时要执行的代码,例如:function my_function() {

echo "Hello World!";

}

2.3 函数命名

函数命令具有如下几个限制:

1) 函数名称不能与现有函数重名。

2) 函数名称只能包含字母、数字、下划线。

3) 函数名称不能以数字开始。

2.4 使用参数

大部分函数需要一个或多个参数,参数允许将数据传给函数,例如:function get_name($name) {

echo "Hello $name";

}

用户定义函数可以有多个参数和可选参数,可选参数需要在函数中为它们定义默认值,例如:function get_name($name, $prefix = 'Mr.') {

echo "Hello $prefix $name";

}

通常,函数获取参数的方式是值传递,当传递一个参数时,一个新的并且包含该传入值的变量被创建,它是原来那个变量的副本。可以以任意方式修改它,但函数外部原来变量的值是不会改变的。

如果使用引用传递,在参数被传递给函数的时候,函数不会再创建一个新变量,而是函数获得一个原来变量的引用。可以通过在函数定义的参数名前加一个地址符'&'来指定参数的引用传递,例如:function increment(&$value, $amount = 1) {

$value = $value + $amount;

}

2.5 返回

关键字return将终止函数的执行,如果return语句被执行了,函数中后续的代码将被忽略,例如:function larger($x, $y) {

if ($x >= $y) {

return $x;

}

else {

return $y;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值