language:php:php와mysql-ch5-코드재활용과-함수
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
이전 판 | |||
— | language:php:php와mysql-ch5-코드재활용과-함수 [2024/04/23 22:44] (현재) – 바깥 편집 127.0.0.1 | ||
---|---|---|---|
줄 1: | 줄 1: | ||
+ | ~~Title:PHP 함수와 외부 파일 참조~~ | ||
+ | {{page> | ||
+ | |||
+ | 함수와 외부 파일 참조 | ||
+ | |||
+ | ====== 코드 재활용 ====== | ||
+ | |||
+ | ===== requre, include ===== | ||
+ | |||
+ | = include() : 외부의 문서를 PHP 가 실행되는 순서에 따라, 흐름 안에 임베디드(삽입) 한다. | ||
+ | = : 이 함수가 실행되는 시점에 해당 문서가 흐름안에 삽입되어 그대로 파싱되는 것. **에러 발생시 경고만 발생시키고 넘어간다.** | ||
+ | = include_once() : 한번만 수행하고, | ||
+ | = require() : include()와 동일하지만, | ||
+ | = require_once() : 한번만 수행. 나머지는 require()와 같다. | ||
+ | |||
+ | 에러 발생시, 중단 여부 설정에 따라 선택. | ||
+ | ===== 웹사이트 헤더, 풋터를 웹서버에 설정 ===== | ||
+ | |||
+ | php 설정 중, | ||
+ | |||
+ | * auto_prepend_file : 헤더 | ||
+ | * auto_append_file : 푸터 | ||
+ | |||
+ | 위의 설정에 파일명을 적어주면 전역 헤더, 푸터로 인식한다. 하지만 전역 강제 설정이라 좋은 선택은 아닌듯. | ||
+ | |||
+ | 아파치 웹서버를 사용한다면, | ||
+ | |||
+ | <code htaccess> | ||
+ | php_value auto_prepend_file ... | ||
+ | php_value auto_append_file ... | ||
+ | </ | ||
+ | |||
+ | .htaccess를 매번 읽어 오기 때문에 성능에 다소 영향을 줄 수도 있다고 하네. | ||
+ | |||
+ | ===== 함수 ===== | ||
+ | |||
+ | 함수 선언의 프로토타입. | ||
+ | |||
+ | * 리턴값은 명시하지 않아도 된다. | ||
+ | * 함수 파라미터에 타입을 명시 하지 않아도 된다. | ||
+ | |||
+ | <code php> | ||
+ | function FunctionName( $param, ... ) | ||
+ | </ | ||
+ | |||
+ | ==== 함수의 정보 획득 ==== | ||
+ | |||
+ | * func_num_args() : 파라미터 개수 | ||
+ | * func_get_arg() : 파라미터 얻기 | ||
+ | * func_get_args() : 파라미터들 얻기 | ||
+ | |||
+ | ===== 변수의 범위 ===== | ||
+ | |||
+ | - 함수 내부에서 선언된 것은 함수 내부에서만 참조 (완전한 로컬) | ||
+ | - 함수 외부에서 선언된 것은, 함수 내부에서는 사용 불가능. | ||
+ | - 함수 내부에서 변수 선언시 global을 붙이면 전역 | ||
+ | |||
+ | ==== 변수의 값 확인과 제거 ==== | ||
+ | |||
+ | * isset( $var ) : 값이 있는가? NULL인가도 확인. | ||
+ | * unset( $var ) : 변수 해제. | ||
+ | |||
+ | ===== 참조 ===== | ||
+ | |||
+ | 함수 파라미터에 < | ||
+ | |||
+ | ===== 재귀함수 ===== | ||
+ | |||
+ | 지원한다. |