代码重用的好处:
- 在理想情况下,一个新的项目是这样创建的:它将已有的可重新利用的组件进行组合,并将新的开发难度降低到最小。
- 成本
- 可靠性
- 一致性
使用require()和include()函数
PHP提供了两个非常简单却很有用的语句,它们允许重新使用任何类型的代码。使用一条require()或include()语句,可以将一个文件载入到PHP
脚本中。
require()和include()几乎是相同的。
二者唯一的却别在于函数失败后。require()函数将给出一个致命的错误。而include()只是给出一个警告。
require()和include()也有两个变体函数,分别是
require_once()和include_once()。这两个函数的作用是
确保一个包含的文件只能被引入一次。
使用auto_prepend_file和auto_append_file
php.ini中有两个选项auto_prepend_file和auto_append_file.通过这两个选项来设置页眉和脚注,可以保证它们在每个页面的前后被载入。
在PHP中使用函数
函数的命名具有如下几个
限制:
- 函数名称不能和已有的函数重名。
- 函数名称只能包含字母、数字和下划线。
- 函数名称不能以数字开始。
- 许多语言允许重复使用函数名称。这个特性叫做函数的重载。但是PHP不支持函数重载,所以自定义函数不能和内置函数或是用户已经定义的函数重名。
作用域:
PHP具有相当简单的规则:
- 在函数内部声明的变量作用域是从声明它们的那条语句开始到函数末尾。这叫做函数作用域。这些变量称为局部变量。
- 在函数外部声明的变量作用域是从声明它们的那条语句开始到文件末尾,而不是函数内部。这叫做全局作用域。这些变量成为全局变量。
- 特殊的超级全局变量在函数内部和外部都是可见的。
- 使用require()和include()并不影响作用域。如果这两个语句用于函数内部,函数作用域使用。如果它不再函数内部,全局作用域适用。
- 关键字“global”可以用来手动指定一个函数中定义或使用的变量具有全局作用域。
- 通过调用unset($variable_name)可以手动删除变量。如果变量被删除,它就不再参数所指定的作用域中了。
参数的引用传递和值传递
class="php" name="code">
function increment($value, $amount = 1){
$value = $value + $amount;
}
$value = 10;
increment($value);
echo $value;
$value的内容没有被修改。这要
归因于作用域规则。
更好的办法是只用
引用传递。这里,在参数被传递给函数的时候,函数不会再创建一个新的变量,而是函数获得一个原来变量的引用。
可以通过在函数定义的参数名前加一个地址符(&)来制定参数的引用传递。
function increment(&$value, $amount = 1){
$value = $value + $amount;
}
$a = 10;
echo $a.'<br />';
increment($a);
echo $a.'<br />';
使用Return关键字
返回结果
参考资料:
PHP&MySQL.Web