PHP 편집하기
최신판 | 당신의 편집 | ||
2번째 줄: | 2번째 줄: | ||
[[파일:PHP 글자.png|썸네일|300픽셀|'''PHP''']] | [[파일:PHP 글자.png|썸네일|300픽셀|'''PHP''']] | ||
− | '''PHP'''<!--php, 피에이치피-->(피에이치피)는 [[HTML]] 문서 안에 포함하여 작동하는 서버 측 [[스크립트 언어|스크립트]] 프로그래밍 언어이다. 1994년 [[라스무스 러도프]](Rasmus Lerdorf)가 개발했다. 원래 Personal Home Page의 약자였으나, 나중에 "PHP: Hypertext Preprocessor"의 약자라고 설명되었다. | + | '''PHP'''<!--php, 피에이치피-->(피에이치피)는 [[HTML]] 문서 안에 포함하여 작동하는 서버 측 [[스크립트 언어|스크립트]] 프로그래밍 언어이다. 1994년 [[라스무스 러도프]](Rasmus Lerdorf)가 개발했다. 원래 Personal Home Page의 약자였으나, 나중에 "PHP: Hypertext Preprocessor"의 약자라고 설명되었다. [[리눅스]] 운영체제에 [[아파치]] 웹서버를 설치하고 [[마이에스큐엘]](MySQL) DB 환경에서 PHP 프로그래밍 언어가 주로 사용되기 때문에 [[LAMP]]라는 말이 생겼다. |
== 개요 == | == 개요 == | ||
27번째 줄: | 27번째 줄: | ||
*PHP 5.4 : 2012년 3월 1일 출시되었고, 단일 상속의 한계를 벗어난 트레이트와 짧은 배열 구문이 추가되었다. | *PHP 5.4 : 2012년 3월 1일 출시되었고, 단일 상속의 한계를 벗어난 트레이트와 짧은 배열 구문이 추가되었다. | ||
*PHP 5.5 : 2013년 6월 20일 출시되었고, 제너레이터(Generators)와 코루틴(coroutines), finally 키워드, 강화된 패스워드 해슁 함수, 배열과 문자열의 디레퍼런싱, 상수 클래스명 ::class, empty() 함수가 수식을 지원, foreach 내 이터레이터(Interator)로 논스칼라(non-scalar) 사용, foreach 구문에 list() 사용, op코드 캐시를 위한 Zend OPcache 등과 같은 기능들이 추가 및 변경되었다. | *PHP 5.5 : 2013년 6월 20일 출시되었고, 제너레이터(Generators)와 코루틴(coroutines), finally 키워드, 강화된 패스워드 해슁 함수, 배열과 문자열의 디레퍼런싱, 상수 클래스명 ::class, empty() 함수가 수식을 지원, foreach 내 이터레이터(Interator)로 논스칼라(non-scalar) 사용, foreach 구문에 list() 사용, op코드 캐시를 위한 Zend OPcache 등과 같은 기능들이 추가 및 변경되었다. | ||
− | * PHP 5.6 : 2014년 8월 28일 | + | * PHP 5.6 : 2014년 8월 28일 출시되었고, 선언에 상수 표현식 지원, 가변길이 인수에 대한 문법 (...$args), 매개변수 해체(argument unpacking), 거듭제곱 연산자 (**), 추가적인 use 문 (use function, use const), SAPI 모듈을 위한 새로운 phpdbg 디버거 등과 같은 기능이 추가 및 변경되었다. |
− | + | * PHP 7.0 : 2015년 12월 3일 출시되었고, 성능 향상 - PHP 5.6 보다 두배 이상 빠른 속도, 메모리 사용률이 현저히 감소, 추상 구문 트리(Abstract Syntax Tree), 일관된 64비트 지원(Consistent 64-bit support), 향상된 예외 상속(Improved Exception hierarchy), 많은 치명적 에러들이 예외로 전환 됨, 보안 난수 발생기(Secure random number generator), 오래 됐거나 지원하지 않는 SAPI와 확장 지원 중단, Null 병법 연산자(The null coalescing operator (??)), 리턴 값, 스칼라 타입 정의, 익명 클래스(Anonymous Classes), Zero cost asserts등과 같은 기능들이 추가 및 변경되었다.<ref name = "위키백과"></ref><ref name = "PHP공식홈페이지"> PHP 공식 홈페이지 - http://docs.php.net/manual/kr/history.php.php </ref> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | * PHP 7.0 : 2015년 12월 3일 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 특징 == | == 특징 == | ||
104번째 줄: | 45번째 줄: | ||
* 거의 모든 [[OS]]에서 실행이 가능하고, PDO를 이용할 경우 여러가지의 DBMS 연결을 지원한다. | * 거의 모든 [[OS]]에서 실행이 가능하고, PDO를 이용할 경우 여러가지의 DBMS 연결을 지원한다. | ||
− | * 속도가 빠르며, 특히 | + | * 속도가 빠르며, 특히 [[리눅스]], [[Nginx]], PHP, [[MySQL]]은 속도가 월등하다. |
* 클래스 생성 및 상속이 가능하므로 코드를 모듈화시키기가 용이하다. | * 클래스 생성 및 상속이 가능하므로 코드를 모듈화시키기가 용이하다. | ||
* [[ASP]]나 [[JSP]]처럼 컴포넌트나 패키지등을 따로 설치하지 않고, 파일 업로드 및 파일 전송 등의 기능이 내장되어 배포되고있다. | * [[ASP]]나 [[JSP]]처럼 컴포넌트나 패키지등을 따로 설치하지 않고, 파일 업로드 및 파일 전송 등의 기능이 내장되어 배포되고있다. | ||
110번째 줄: | 51번째 줄: | ||
* 데이터베이스 연결에 함수를 사용하므로 직관적이고 간결하다. | * 데이터베이스 연결에 함수를 사용하므로 직관적이고 간결하다. | ||
* 이미지를 동적으로 생성할 수 있다. | * 이미지를 동적으로 생성할 수 있다. | ||
− | * [[XML]], [[ZIP]] 암호화 등에 관련된 다양한 함수를 지원한다. | + | * [[XML]], [[ZIP]], [[PDF]], 암호화 등에 관련된 다양한 함수를 지원한다. <ref name="장단점"></ref> |
== 한계점 == | == 한계점 == | ||
134번째 줄: | 75번째 줄: | ||
* [[JAVA]] | * [[JAVA]] | ||
* [[HTML]] | * [[HTML]] | ||
− | |||
* [[아파치]] | * [[아파치]] | ||
* [[ASP]] | * [[ASP]] |