[PHP] PHP4.x 버전과 PHP 5.x 버전 비교(Comparison between PHP4 and PHP5)
PHP5에서 무엇이 바뀌었을까?
- 젠드엔진2가 내장되었습니다.
- PHP GCI 버전이
php.exe
에서php-cgi.exe
로 변경되었습니다. - PHP CLI 버전이
cli/php.exe
에서 주 디렉토리로 변경되었습니다. - PHP CLI 버전은
php.ini
지시어 설정과 상관없이 항상 전역$argv
(Array of arguments passed to script) 와$argc
(The number of arguments passed to script) 변수를 가지며,register_argc_argv
(argv와 argc 변수를 선언할지 여부 설정)를off
로 설정해도 영향을 미치지 않습니다. - ISAPI 모듈들의 이름이 php4xxx에서 php5xxx로 바뀌었습니다.
- 프로퍼티가 없는 객체를 “빈” 것으로 판단하지 않습니다.
- 인터페이스 등을 사용할 경우, 사용 전 선언해야합니다.
- 포함한 파일에 함수정의가 있을경우, 그 파일이 두번 포함 되었을 때,PHP5에서는 치명적인 오류가 발생합니다. include_once를 사용하길 권장합니다.
- 키워드
- 예외처리(try()-catch()-finally()[v5.5~])
- 네임스페이스[v5.3~]
- 인터페이스(interface,implements)
- 추상클래스(abstract)
- 접근제어자(private,protected,public)
- instanceof : 객체의 클래스 확인
- clone : 객체 복제
- 컴파일 상수
__NAMESPACE__
[v5.3~]__DIR__
[v5.3~]
- DataBase
- 새로운 함수가 추가되었습니다.(New Functions)
- 배열 (9개)
- array_combine() : 하나의 배열은 키로, 하나의 배열은 값으로 가지는 배열 생성 합니다.
- array_walk_recursive() : 배열의 모든 원소에 사용자 함수를 적용합니다.
- 이 외의 7개 함수
- iconv (7개)
- iconv_strlen() : 문자열의 문자 수를 반환 합니다.
- iconv_strpos() : haystack에서 needle이 처음으로 나타나는 위치를 찾습니다.
- iconv_strrpos() : haystack에서 needle이 마지막으로 나타나는 위치를 찾습니다.
- iconv_substr() : 문자열의 일부를 잘라냅니다.
- 이 외의 3개 함수
- 스트림 (8개)
- stream_copy_to_stream() : 한 스트림의 데이터를 다른 스트림으로 복제합니다.
- stream_get_line() : 스트림 자원에서 주어진 구분자로 나타나는 열을 얻습니다.
- 이 외의 6개 함수
- 날짜와 시간 관련 (4개)
- idate() : 지역 날짜/시간을 정수로 바꿉니다.
- date_sunset() : 주어진 날짜와 위치의 일몰 시간을 반환합니다.
- date_sunrise() : 주어진 날짜와 위치의 일출 시간을 반환합니다.
- time_nanosleep() : 초와 나노초의 수만큼 지연합니다.
- 문자열 (3개)
- str_split() : 문자열을 배열로 변환합니다.
- strbrk() : 문자열에서 문자 세트에 있는 문자를 검색합니다.(대소문자 구분하여 세트중 한글자라도 먼저 나오는것을 찾습니다.)
- substr_compare() : 두 문자열을 offset부터 length까지(대소문자 구분없이:옵션) 바이너리로 안전하게 비교합니다.
- 인터베이스 (19개)
- 기타 (30개)
- file_put_contents() : 문자열을 파일로 씁니다.
- get_headers() : HTTP 요청의 응답으로 서버가 보낸 모든 헤더를 가져옵니다.
- http_build_query() : 배열을 이용하여 URL-encode한 쿼리 문자열을 생성합니다.
- scandir() : 지정한 경로 안에 파일과 디렉토리 목록을 배열로 반환합니다.
- 이 외의 27개 함수
- 자세한 내용은 해당링크에서 확인 하실 수 있습니다.
- 배열 (9개)
- 새로운 지시어 (
php.ini
지시어)- mail.force_extra_parameter
- register_long_arrays
- session.hash_function : 해시 함수 선택(MD5 or SHA-1)
- session.hash_bits_per_character
- zend.ze1_compatibility_mode : 젠드엔진1 (PHP 4)호환모드 활성화
기타 자세한 사항은 해당링크에서 확인 하실 수 있습니다.
참고자료
[PHP] PHP4.x 버전과 PHP 5.x 버전 비교(Comparison between PHP4 and PHP5)