1、文件载入
有时也叫流程控制
文件载入的目的主要是体现了网站的分层设计,因为不同的页面可能有许多相同的区域(相同的代码),这些相同的代码其实只需要写入一次,有需要的时候载入进来即可,从而实现代码的重用!php提供了四种文件载入的语句,分别是:include include_once require require_once
载入原理:1、执行到include的时候,先退出PHP模式,进入到了html模式!
2、载入目标文件内的源代码,相当于将代码复制到目标位置
3、将载入的代码从源代码开始进行预编译并执行!也就是说,文件的载入不是发生在代码的预编译阶段而是发生在代码的执行阶段!
4、再次进入php模式
2、载入的路径问题
一般使用绝对路径,这样无论载入文件的这行代码出现在任何脚本的任何位置,都不会出错!
但是,此时有一个很大的缺陷,就是当项目移植的时候,绝对路径就发生了改变!
所以,我们一般的做法是先定义根目录常量:
由于linux操作系统下的目录分隔符只支持正斜杠/,为了兼容,要把上面的路径中的反斜杠变成正斜杠,这个时候,需要使用一个系统函数str_replace来替换:
在项目中,推荐使用绝对路径,因为绝对路径的效率比较高,而且不会出错!
3、函数的命名
1), 函数名遵守基本的标识符的命名规则,但函数名不区分大小写,一般用小驼峰法来表示!(习惯上类名用大驼峰法,因为类名也不区分大小写),
区分大小写的地方用_连接
2), 函数不能重复定义,所以在定义用户自己的函数的时候,注意函数名不能与系统函数名相冲突!
4、 函数的参数
如果要使用引用传递,就应该在定义函数的时候就规定好,函数的参数应该是值传递还是引用传递,如果是引用传递,就应该事先在形参的前面加上&,那么此时,实参就必须是一个变量!因为只有变量之间才可以有引用传递!
引用传递的技巧:
一般来说,我们认为函数只能有一个返回值(允许在代码内出现多个return语句,但是只能执行一条,因为一旦遇到return语句就马上结束函数的执行)!
但是,我们可以利用引用传递,实现可以类似的返回多个值的效果:
如果不确定函数的参数应该如何定义形参呢?
干脆一个都不定义!
但是,此时,我们需要考虑如何才能获得实参的值!我们可以利用一个系统函数来接收所有参数的值:
func_get_args()
调用该函数的时候,可以得到一个索引数组,里面的元素是当前函数接收到的所有的实参的值!
另外还有几个函数:
func_get_arg() : 获得某个参数的值,使用参数的索引位置来表示,从0开始,比如func_get_arg(1)
func_num_args():获得实参的数量!
5、return
return语句的作用有两个:
1), 将函数的返回值,返回给调用该函数的位置!
2), 终止函数的运行!
注意:
1), 一个函数可以有多个return语句,但是只会执行其中的一条!
2), 如果一个函数确实有很多个值需要返回,可以用引用传递模拟(其实不叫返回值),最常用的是将这些值放到一个数组里面,然后返回这个数组就行了!