函数的工作原理
仅当函数被调用后,函数中的语句才会被执行,目的是根据需求完成一些特定的任务。而函数执行完毕后,控制权将返回到调用函数的地方。也就是当代码运行到函数调用的时候,程序的执行就会进入被调用的函数中,执行被调用函数中的代码语句,函数就能够以返回值的方式将信息返回给程序。通过在程序中使用函数,可以进行结构化编程。在结构化编程中,各个任务是由独立的程序代码段完成的。而函数正是实现“独立程序代码段”最理想的方式,所以函数和结构化编程的关系非常的紧密。结构化编程不仅在PHP中很重要,在其他的编程语言中一样占有重要地位,结构化编程之所以卓越且重要,有以下3个重要原因:
- 结构化程序更容易编写,因为复杂的编程问题被划分为多个更小、更简单的任务。每个任务由一个函数完成,而函数中的代码和变量独立于程序的其他部分。通过每次处理一个简单的任务,编程速度将更快。而且在实际的项目当中,我们也强调一个函数只做一件事,这样也使得我们在对程序的设计更加简单,更容易描述和理解。甚至有时候我只需要描述所需的模块而无需关心函数内部的具体实现。比如当我们调用别人写的函数时,我们只需要关心返回的结果是否正确,无需关心内部复杂的实现
- 当然如果是自己负责多个函数的编写,结构化程序更容易调试。如果程序中一些无法正确运行的代码,结构化设计则使得将问题缩小到特定的代码段(如特定函数),且程序的结构层次更加清晰。
- 更有利于团队协作开发,提高开发效率
结构化编程的一个显著优点是可以节省时间。如果你在一个程序中编写一个执行特定任务的函数,则可以在另一个需要执行相同任务的程序中使用它。即使新程序需要完成的任务稍有不同,但修改一个已有的函数比重新编写一个函数更容易。这也就是我们常说的代码可复用性。想想看,比如我们经常使用函数echo()和var_dump()对执行结果进行打印,虽然你可能还不知道他们的代码,但在程序中使用他们可以很容易地完成单个任务。编写结构化程序前,首先应确定程序的功能,必须要做一些规划,在规划中,必须列出程序要执行的所有具体任务。然后使用函数编写每个具体的任务,在主程序中按执行顺序调用每个任务函数,就组成了一个完整的结构化程序。下图包含三个函数的程序,其中每个函数都执行特定的任务,可以在主程序中调用一个或多次。每当函数被调用,控制权被传递给函数。函数执行完毕后,控制权返回到调用该函数的位置。