함수 실행 위치


인터프리터 언어의 특성상 PHP는 함수를 선언하는 위치는 중요하지 않습니다. 하지만 함수의 실행 위치는 매우 중요합니다.

함수의 실행 위치는 프로그램의 제어권 변경과 또 다른 동작을 수행하기 때문입니다. 프로그램 코드가 함수를 실행 명령을 만나게 되면 프로그램의 실행 제어권이 함수로 전달됩니다. 함수 호출 시 PHP는 현재의 호출 시점을 임시로 저장한 후에 다른 함수들을 실행합니다.

즉, 함수를 호출하는 위치에서 함수의 코드들이 실행되기 때문입니다.

함수가 호출되면 그 자리에서 함수명과 동일한 함수를 실행하고 실행 전에 임시로 저장한 프로그램 제어권 자리로 다시 돌아옵니다. 이러한 제어권의 임시 저장과 함수 호출, 되돌아오는 과정을 통해 함수형 코딩으로 프로그램을 작성했다고 해서 프로그램의 처리 루틴이 꼬이거나 잘못된 경우가 발생되지 않는 것입니다.

예제 파일 func-04.php

<?php
	function helloMsg() {
    		echo "Hello world! <br>";
	}

	helloMsg(); // 함수를 호출합니다.

	helloMsg(); // 재사용 함수 재호출합니다.
?>

위의 예제를 보면 화면에 “Hello world!”라는 글자가 한 줄 출력됩니다. 함수는 재사용이 가능합니다. 바로 밑에 동일한 함수 호출 helloMsg();을 만나게 됩니다.

그러면 또 다시 그 자리에서 동일한 함수명을 가진 함수를 실행하고 다시 그 위치에 돌아오게 됩니다.

위의 함수 예제는 하나의 함수 정의와 두 번의 함수 호출을 통해 두 줄의 “Hello world!” 메시지가 화면에 출력이 됩니다. 이것 또한 함수형 코딩의 장점으로 한 번 작성한 함수를 중복으로 재사용 가능하다는 것입니다.