{{위키데이터 속성 추적}}
{{다른 뜻}}
{{프로그래밍 언어 정보
|이름 = PHP
|로고 = PHP-logo.svg
|패러다임 = [[객체 지향 프로그래밍]], [[절차적 프로그래밍]], [[반영 (컴퓨터 과학)|리플렉션]]
|연도 = [[1995년]] [[6월 8일]]
|설계자 = [[라스무스 러도프]]
|개발자 = [[젠드 테크놀로지스]]
|형 체계 = 
|구현체 = [[젠드 엔진]], [[HHVM]], [[:en:Phalanger (compiler)|팔라겔]], [[:en:Quercus (software)|퀀스]]
|파일 확장자 = .php, .phtml, .php3, .php4, .php5, .php7, .phps
|방언 =
|영향을 받은 언어 = [[C (프로그래밍 언어)|C]], [[C++]], [[자바 (프로그래밍 언어)|자바]], [[펄]], [[Tcl]]
|영향을 준 언어 = [[팰컨 (프로그래밍 언어)|팰컨]], [[:en:Hack (programming language)|핵]]
|라이선스 = PHP 라이선스
| latest release version = {{wikidata|property|edit|reference|P548=Q2804309|P348}}
| latest release date = {{시작 날짜와 나이|{{wikidata|qualifier|single|P548=Q2804309|P348|P577}}}}
| latest preview version = {{wikidata|property|edit|reference|P548=Q51930650|P348}}
| latest preview date = {{시작 날짜와 나이|{{wikidata|qualifier|single|P548=Q51930650|P348|P577}}}}
|웹사이트 = http://www.php.net/
|미리보기 버전=8.3.0 alpha 1}}
'''PHP'''({{lang|en|PHP: Hypertext Preprocessor: 하이퍼텍스트 프리프로세서}}<ref>[[재귀 약자]]를 사용하고 있다.</ref>)는 범용 프로그래밍 언어다. 원래는 'Personal Home Page'의 약자였다. [[동적 웹 페이지]]를 만들기 위해 설계되었으며 이를 구현하기 위해 PHP로 작성된 코드를 PHP 엔진에서 html 파일과 같이 처리하여 작성자가 원하는 웹 페이지를 생성한다. 2015년 PHP 7.0이후에는 PHP 코드와 HTML을 별도 파일로 분리하여 작성하는 경우가 일반적이며, PHP 또한 웹서버가 아닌 php-fpm(PHP FastCGI Process Manager)을 통해 실행하는 경우가 많다. 또한 PHP는 명령 줄 인터페이스 방식의 자체 인터프리터를 제공하여 이를 통해 범용 프로그래밍 언어로도 사용할 수 있으며 그래픽 애플리케이션을 제작할 수도 있다.

많은 서버 측 [[오픈 소스]] 소프트웨어는 PHP로 구현되었다. PHP를 바탕으로 하는 프로그램 중 대표적인 예로 블로깅 도구 [[워드프레스]]와 위키백과를 구동시키는 [[미디어위키]]를 들 수 있다. [[대한민국]]의 PHP 기반 [[전자 게시판|BBS]]는 [[그누보드]], [[XpressEngine]], [[라이믹스]] 등이 있다.

PHP는 [[마이크로소프트]]의 [[ASP.NET]], [[비주얼 베이직]], [[매크로미디어]]의 [[매크로미디어 콜드퓨전|콜드퓨전]], [[오라클 (기업)|오라클]]의 [[자바 (프로그래밍 언어)|자바]]나 오픈 소스 커뮤니티의 [[파이썬]], [[펄]], [[루비 (프로그래밍 언어)|루비]]에 대한 대안으로 생각될 수 있다.

PHP는 텍스트, 특히 [[HTML]]의 처리에 강점을 가지고 있다. [[URL]]의 [[파싱]]이나 폼 처리, [[정규 표현식]] 등이 그 한 예이다. 또한 다양한 데이터베이스를 지원하므로 데이터베이스와 사용자간의 다리 역할도 잘 수행한다.

PHP는 PHP 사용 허가서의 규정을 따라 릴리즈된 자유 소프트웨어이다. 그러나 PHP 사용 허가서는 PHP라는 단어의 사용에 제한을 두는 규정을 가지고 있기 때문에 GNU 일반 공중 사용 허가서와 호환되지 않는다.

== 역사 ==
PHP는 1995년 덴마크계 캐나다인 [[라스무스 러도프]]가 처음 만든 것으로, 당시 C언어나 Perl로 복잡하게 웹사이트를 만들던 CGI를 대신해 간편하게 웹사이트를 작성하기 위해 개발했다. 그 뒤로 젠드 사에서 PHP VM 을 개발했고 범용프로그래밍 언어에 이르게 되었다.<ref>[http://www.php.net/manual/en/history.php.php http://www.php.net/manual/en/history.php.php]</ref>

{| class="wikitable
|-
! 버전
! style="min-width: 10em;" | 출시일
! style="min-width: 10em;" | 지원 기한<ref name="eol">{{웹 인용|url=https://php.net/eol.php |title=Unsupported Branches |website=php.net |access-date=2019-07-31}}</ref>
|-
| {{Version |o | 1.0}}
| 1995년 6월 8일
|
|-
| {{Version |o | 2.0}}
| 1997년 11월 1일
|
|-
| {{Version |o | 3.0}}
| 1998년 6월 6일
| 2000년 10월 20일<ref name="eol" />
|-
| {{Version |o | 4.0}}
| 2000년 5월 22일<ref>{{웹 인용|title=PHP 4.0.0 Released |url=https://news-web.php.net/php.announce/22 |access-date=2020년 10월 25일}}</ref>
| 2001년 6월 23일<ref name="eol" />
|-
| {{Version |o | 4.1}}
| 2001년 12월 10일<ref>{{웹 인용|title=PHP 4.1.0 Release Announcement |url=https://www.php.net/releases/4_1_0.php |access-date=2020년 10월 25일}}</ref>
| 2002년 3월 12일<ref name="eol" />
|-
| {{Version |o | 4.2}}
| 2002년 4월 22일<ref>{{웹 인용|title=PHP 4.2.0 Release Announcement |url=https://www.php.net/releases/4_2_0.php |access-date=2020년 10월 25일}}</ref>
| 2002년 9월 6일<ref name="eol" />
|-
| {{Version |o | 4.3}}
| 2002년 12월 27일<ref>{{웹 인용|title=PHP 4.3.0 Release Announcement |url=https://www.php.net/releases/4_3_0.php |access-date=2020년 10월 25일}}</ref>
| 2005년 3월 31일<ref name="eol" />
|-
| {{Version |o | 4.4}}
| 2005년 7월 11일<ref>{{웹 인용|title=PHP 4.4.0 Release Announcement |url=https://www.php.net/releases/4_4_0.php |access-date=2020년 10월 25일}}</ref>
| 2008년 8월 7일<ref name="eol" />
|-
| {{Version |o | 5.0}}
| 2004년 7월 13일<ref>{{웹 인용|title=PHP 5.0.0 Released! |url=https://news-web.php.net/php.announce/50 |access-date=2020년 10월 25일}}</ref>
| 2005년 9월 5일<ref name="eol" />
|-
| {{Version |o | 5.1}}
| 2005년 11월 24일<ref>{{웹 인용|title=PHP 5.1.0 Release Announcement |url=https://www.php.net/releases/5_1_0.php |access-date=2020년 10월 25일}}</ref>
| 2006년 8월 24일<ref name="eol" />
|-
| {{Version |o | 5.2}}
| 2006년 11월 2일<ref>{{웹 인용|title=PHP 5.2.0 Release Announcement |url=https://www.php.net/releases/5_2_0.php |access-date=2020년 10월 25일}}</ref>
| 2011년 1월 6일<ref name="eol" />
|-
| {{Version |o | 5.3}}
| 2009년 6월 30일<ref>{{웹 인용|title=PHP 5.3.0 Release Announcement |url=https://www.php.net/releases/5_3_0.php |access-date=2020년 10월 25일}}</ref>
| 2014년 8월 14일<ref name="eol" />
|-
| {{Version |o | 5.4}}
| 2012년 3월 1일<ref>{{웹 인용|title=PHP 5.4.0 Release Announcement |url=https://www.php.net/releases/5_4_0.php |access-date=2020년 10월 25일}}</ref>
| 2015년 9월 3일<ref name="eol" />
|-
| {{Version |o | 5.5}}
| 2013년 6월 20일<ref>{{웹 인용|title=PHP 5.5.0 Release Announcement |url=https://www.php.net/releases/5_5_0.php |access-date=2020년 10월 25일}}</ref>
| 2016년 7월 10일<ref name="supportedversions">{{웹 인용|url=https://php.net/supported-versions.php |title=Supported Versions |website=php.net |access-date=2017-12-13}}</ref>
|-
| {{Version |o | 5.6}}
| 2014년 8월 28일<ref>{{웹 인용|title=PHP 5.6.0 Release Announcement |url=https://www.php.net/releases/5_6_0.php |access-date=2020년 10월 25일}}</ref>
| 2018년 12월 31일<ref name="supportedversions"/>
|-
| style="background:silver;"| 6.x
| {{n/a|미출시}}
| {{n/a}}
|-
| {{Version |o | 7.0}}
| 2015년 12월 3일<ref name=php7final>{{웹 인용|url=https://php.net/archive/2018.php#id2018-07-19-2|title=News Archive&nbsp;– 2018: PHP&nbsp;7.2.9 Released |date=2018-08-16 |access-date=2018-08-16 |website=php.net}}</ref>
| 2019년 1월 10일<ref name="releaseprocess">{{웹 인용|title=PHP: Release Process|url=https://wiki.php.net/rfc/releaseprocess|access-date=2013-10-06|date=2011-06-20}}</ref>
|-
| {{Version |o | 7.1}}
| 2016년 12월 1일
| 2019년 12월 1일<ref name="supportedversions"/>
|-
| {{Version |o | 7.2}}
| 2017년 11월 30일
| 2020년 11월 30일<ref name="supportedversions"/>
|-
| {{Version |o | 7.3}}
| 2018년 12월 6일<ref>{{웹 인용|url=https://wiki.php.net/todo/php73|title=PHP: todo:php73|website=wiki.php.net}}</ref>
| 2021년 12월 6일
|-
| {{Version |o | 7.4}}
| 2019년 11월 28일<ref>{{웹 인용|url=https://www.php.net/archive/2019.php#2019-11-28-1|title=PHP 7.4.0 Released!|website=php.net|access-date=2019-11-28}}</ref>
| 2022년 11월 28일
|-
| {{Version |co | 8.0}}
| 2020년 11월 26일<ref>{{웹 인용|url=https://wiki.php.net/todo/php80|title=PHP: todo:php80|website=wiki.php.net|access-date=2020-06-16}}</ref>
| 2023년 11월 26일
|-
| {{Version |co | 8.1}}
| 2021년 11월 25일<ref>{{웹 인용|title=PHP: todo:php81 |url=https://wiki.php.net/todo/php81 |access-date=2022-06-16 |website=wiki.php.net}}</ref>
| 2024년 11월 25일
|-
| {{Version |c | 8.2}}
| 2022년 12월 8일<ref>{{웹 인용|title=PHP: todo:php82 |url=https://wiki.php.net/todo/php82 |access-date=2022-06-16 |website=wiki.php.net}}</ref>
| 2025년 12월 8일
|-
| {{Version |p | 8.3}}
| 2023년 11월 23일<ref>{{웹 인용|title=PHP: todo:php83 |url=https://wiki.php.net/todo/php83 |access-date=2022-11-28 |website=wiki.php.net}}</ref>
| 2026년 11월 23일
|- class="sortbottom"
| colspan="3" | {{Version |l |show=111101}}
|}

=== PHP 1.0 ===
1995년 6월 8일 발표. [[라스무스 러도프]]가 C 언어로 작성한 PHP(Personal Home Page Tools) 인터프리터의 소스 코드를 공개한다.<ref>[https://ivan.bessarabov.com/blog/php-was-not-written-in-perl https://ivan.bessarabov.com/blog/php-was-not-written-in-perl]</ref><ref>[http://groups.google.com/group/comp.infosystems.www.authoring.cgi/msg/cc7d43454d64d133 http://groups.google.com/group/comp.infosystems.www.authoring.cgi/msg/cc7d43454d64d133]</ref>

=== PHP Version 2 (PHP/FI) ===
1996년 4월 16일 발표. FI(Form Interpreter, SQL이 만든 DBMS 도구)가 통합되어 1997년에 PHP/FI2.0이 된다. 정식 명칭은 "Personal Home Page Construction Kit/Form Interpreter"이다.

=== PHP 3.0 ===
1998년 6월 6일 발표. PHP/FI를 기반으로, 앤디·가트만즈와 제이브·스라스키에 의해 PHP3(PHP:Hypertext Preprocessor)로 업데이트되었다.

=== PHP 4.0.0 ===
2000년 5월 22일 발표. PHP3를 큰 폭으로 기능을 확장하고 Zend 엔진을 도입하였다.

=== PHP 4.1.0 ===
2001년 12월 10일 발표. 슈퍼 전역 변수가 추가된다.

=== PHP 4.2.0 ===
2002년 4월 22일 발표. 보안 취약하다는 근거로 register_globals의 초기값이 Off로 변경된다.

=== PHP 4.3.0 ===
2002년 12월 27일 발표. [[명령 줄 인터페이스]]가 추가된다.

=== PHP 4.4.0 ===
2005년 7월 11일 발표. 같은 날 PHP4의 지원을 2007년 12월 31일에 종료한다고 고지했다. 중대한 보안문제에 관한 수정만, 2008년 8월 8일까지 계속되어 그 후 모든 지원을 종료했다.

=== PHP 5.0.0 ===
2005년 7월 13일 발표. 의사적인 객체 지향이 한층 강화됨과 동시에 클래스 라이브러리로서 SPL가 지원되었다. 또, SQLite 가 표준으로 장착되게 되었다. Zend 엔진 2.0을 도입했다.

=== PHP 5.1.0 ===
2005년 11월 24일 발표. 실행 속도가 개선되고 PDO 확장 기능이 추가된다.

=== PHP 5.2.0 ===
2006년 11월 2일 발표.
*확장 모듈에 필터(Filter)가 기본으로 추가.
*JSON 을 쉽게 인코딩, 디코딩할 수 있는 함수 추가.

=== PHP 5.3.0 ===
2009년 6월 30일 발표. 아래의 기능이 추가되었다.

* 이름공간 (Namespace)
* 지연 정적 바인딩(Late static bindings)
* goto
* 클로저(Native closures)
* ?: 연산자
* [[가비지 컬렉션]](garbage collection)

=== PHP 5.4.0 ===
2012년 3월 1일 발표. 단일 상속의 한계를 없앤 트레이트와 짧은 배열 구문이 추가되었다.

* 개발용 웹서버가 내장되었다.
* register Global 이 삭제되었다.
* 램 사용량이 줄어들었다.
* safe mode 가 삭제되었다.
* <?= 표기가 설정에 관계없이 항상 쓸 수 있게 되었다.
* 함수 사용후 배열에서 인덱스를 바로 붙여쓸 수있게 되었다. 예) foo()[1]

=== PHP 5.5.0 ===
2013년 6월 20일 발표. 아래의 기능들이 추가 또는 변경되었다.

* 제너레이터(Generators)
* finally 키워드
* 강화된 패스워드 해슁 함수
* 배열과 문자열의 디레퍼런싱
* 상수 클래스명 ::class
* empty() 함수가 수식을 지원
* foreach 내 이터레이터(Interator)로 논스칼라(non-scalar) 사용
* foreach 구문에 list() 사용
* op코드 캐시를 위한 Zend OPcache 내장

=== PHP 5.6.0 ===
2014년 8월 28일 발표. 아래의 기능들이 추가되었다.

* 선언에 상수 표현식 지원
* 가변길이 인수에 대한 문법 (...$args)
* 매개변수 해체(argument unpacking)
* 거듭제곱 연산자 (**)
* 추가적인 use 문 (use function, use const)
* SAPI 모듈을 위한 새로운 phpdbg 디버거

=== PHP 7.0.0 ===
2015년 12월 1일 공개되었다.
특징은 다음과 같다.

* 파서 재작성으로 성능 향상 - PHP 5.6 보다 두배 이상 빠른 속도
* 변수최적화로 메모리 사용률이 상당히 감소 PHP 5.6 대비(1/5)로 감소
* 추상 구문 트리(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


=== PHP 7.1 ===
2016년 12월 3일 공개되었다.
추가된 특징은 다음과 같다.

* 함수리턴과 매개변수에 Nullable 지정(Nullable Type)
* 리턴 타입에  이터러블과 Void 지원(Iterable and Void Returns)
* try catch 구문에서 catch 에 한번에 여러익셉션 감지
* list 함수에서 key 사용가능
* 배열의 인덱스에 음수사용가능
* 이터러블타입인지 확인하는 is_iterable() 함수


=== PHP 7.2 ===
2017년 11월 30일 공개되었다.
보안패치 종료기간은 2020년 11월 30일까지이다.
주요 특징은 다음과 같다.

* PHP 7.1 대비 10%의 성능향상
* 함수의 리턴과 매개변수의 타입으로 object 지정가능.
* 추상클래스의 추상매서드를 오버라이딩 가능
* Argon2 해시함수 지원
* 클래스 오토로딩함수 __autoload -> spl_autoload_register 로 전환
* each 함수 삭제예고됨 (이터러블로 대체권장)

=== PHP 7.3 ===
2018년 12월 8일 공개되었다.
보안패치지원 종료기간은 2021년 12월 6일이다.

* PHP 7.2 대비 성능이 5% 향상되었다.
* FastCGI의 로그 작성이 최적화되었다.
* 기존 여러줄 작성가능한 문법 Heredoc, Nowdoc의 유연화
* 배열의 마지막요소에 , 가능(Trailing commas)
* 어떤 변수가 셀수있는 타입인지 체크강화
* 어떤 변수가 셀수있는 타입인지 체크하는 is_countable() 함수 추가
* samesite 쿠키 지원
* list 함수의 기본동작이 참조전달(call by references) ->값 복사(call by value) 로 전환
기존처럼 참조변수 전달시 & 명시
* 정규식엔진을 PCRE -> PCRE2로 전환

=== PHP 7.4 ===
2019년 11월 28일 공개되었다.
보안패치지원 종료날짜는 2022년 11월 28일이다.

프리로딩기능이 추가되어서 로딩성능이 10%향상되었다.
기본값은 off이므로 php.ini에서 수동으로 켜야한다.

* 람다식이라고도 부르는 화살표함수 추가(Arrow functions)
* 함수 축약표현식 fn 문법 추가
* 클래스를 미리 메모리에 로딩하는 프리로딩 추가 (Preloading)
* 클래스 프로터티에 타입명시 가능
* PHP 코어의 타입시스템 개선 (Improved type variance)
* Null 병합연산자 추가 (?? 물음표가 두개이다.) (Null coalescing)
* 배열 전개연산자 추가 (Array spread operator)
* 외부 함수 인터페이스 FFI 추가로 다른언어(c나 러스트, go등)으로 작성된 라이브러리 로딩가능
* 사용자 정의 객체의 직렬화 가능
* 삼항연산자 중첩시 왼쪽부터 평가되게 전환예고(언어의 비일관성 개선)

=== PHP 8.0 ===
2020년 11월 26일 출시 되었다. 보안패치 지원 종료일은 2023년 11월 26일이다.

PHP 에도 JIT 컴파일러가 도입되어 성능이 최대 2배까지 향상되었다.

* 이름있는 파라미터가 추가되었다.(Named arguments)
* 애트리뷰트가 추가되었다. 다른언어에서는 어노테이션이라고도 한다.
* 열거형을 쓸 수있게되었다.
* Match 표현식이 추가되어 함수형프로그래밍에 한걸음 더 다가서게되었다.
* Null 안전한 연산자가 추가되었다. 다른언어에서는 옵셔널이라고도 한다.
* 문자열 함수에 str_contains(), str_starts_with(), str_ends_with() 등 편리한 함수가 추가되었다.
* Throw 문법은 표현식으로 바뀌었다.
* 그 밖에 타입오류 문구와 예외처리가 일관성 있게 개선되었다.

== 예제 ==
다음은 예전에 코미디 프로그램에서 유행했던, 빛나리의 타잔 노래 가사를 출력해주는 코드이다. 이와 같이 PHP 구문은 일반적인 [[HTML]] 문서에 삽입되어 동작하게 되어 있으며, 여기서는 <nowiki>&lt;?php ~ ?&gt;</nowiki> 사이의 내용이 PHP 코드로 해석된다.<ref>{{웹 인용 |url=http://kr.php.net/manual/kr/language.basic-syntax.php#language.basic-syntax.phpmode |제목=보관된 사본 |확인날짜=2006-09-19 |보존url=https://web.archive.org/web/20060719202741/http://kr.php.net/manual/kr/language.basic-syntax.php#language.basic-syntax.phpmode#language.basic-syntax.phpmode |보존날짜=2006-07-19 |url-status=dead }}</ref>

<syntaxhighlight lang="html+php" line="1">
<html>
    <head>
        <title>php example </title>
    </head>
    <body>
        <h1>빛나리의 타잔 주제가</h1>
        <p>
            <?php
                $price = 10;
                $limit = 10000;

                while($price < $limit) {
                    echo '타잔이 '.$price.'원짜리 팬티를 입고,<br />'."\r\n";
                    $price += 10;
                    echo $price.'원짜리 칼을 차고 노래를 한다. 아~~!<br />'."\r\n";
                }
            ?>
        </p>
    </body>
</html>
</syntaxhighlight>

또한, 간단한 템플릿 기능도 지원한다. 다만 이는 언어의 기능이라기보다는 하나의 트릭에 가까우며, 로직과 디자인이 완전히 분리되지 않는 문제점이 있다. 따라서 본격적인 템플릿 기능에는 [[Smarty]] 등의 전문 [[템플릿 엔진]]이 많이 사용된다. 다음은 템플릿을 써서 비슷한 결과를 출력하는 PHP 코드이다. ([[HTML]] 생성물은 위와 다르지만 화면 출력되는 모습은 같다.)

<syntaxhighlight lang="html+php" line="1">
<?php
    $price = 10;
    $limit = 10000;
?>
<html>
    <head>
        <title>빛나리의 타잔 주제가</title>
    </head>
    <body>
        <h1>빛나리의 타잔 주제가</h1>
        <p>
            <?php
                while($price < $limit):
            ?>
            타잔이 <?= $price ?>원짜리 팬티를 입고,<br />
            <?= $price + 10 ?>원짜리 칼을 차고 노래를 한다. 아~~!<br />
            <?php
                endwhile;
            ?>
        </p>
    </body>
</html>
</syntaxhighlight>

== 문법 ==
근본적으로, PHP의 문법은 C스타일을 따른다.

=== C언어와 다른 점 ===
* 변수는 $기호가 앞에 붙은 단어로 나타내며 함수는 ''함수 이름(매개변수)''의 형식으로 나타낸다.
* 함수를 선언할 때에는 <code>function</code>이라는 키워드를 앞에 붙여야 한다.
* .(Dot) 연산자는 ''문자열 결합 연산자''이며, 구조체 참조 연산자는 <code>-></code>로 통일된다.
* 포인터를 제공하지 않으며 기본 매개변수 값은 값에 의한 전달(Call by value)이다 다만 &를 이용해
명시적으로 참조 전달을 선언할 수도있다.
* 그 외 class 관련 문법이 [[C++]]과 다르다.

== 장점 ==
PHP의 장점은<ref>{{웹 인용|url=https://www.simform.com/django-vs-php/|제목=Django vs. PHP: Who Will win the Battle of Backend Dominance?|날짜=2021-02-10|언어=en-US|확인날짜=2021-08-19}}</ref> 기존까지 존재해 왔던 언어에 비해 `직관적`이라는 것이었다. 현재는 이런 인기 후, 유사하거나 더욱 개성이 강한 스크립트 언어들이 '웹 개발'을 위해 태어나게 된다.<ref>[[루비온레일즈]]</ref>

== 특징 ==
PHP의 특징 중 하나는 무상태성이며 PHP 스크립트는 명령을 수행한뒤 모든작업이 종료된다.
자바나 C 언어에서 접근하려면 여러 Include 등을 통해야 했던 작업들이 내장함수로 있어서 '그냥 적어 놓기만' 하면 작동을 한다. 즉 작성 코드의 양이 현저히 적다는 것이다. 그래서 직관적인 코드작성을 가능하게 하고 이것은 소스코드를 '절차적 프로그램 코드'에 가깝도록 만든다. 현재의 PHP는 절차적인 형태에서 '객체지향(클래스- Class)' 프로그램 작성이 가능한 상태로 진화된 상황이고 이런 진화하에서 라라벨, 심포니 등 웹 프레임워크들이 등장할 수있게되었다.

== 비판 ==
PHP 가 처음에는 C 언어의 함수들을 차용하여 이름이 일정했지만 나중에 추가된함수들은 일관되지않게 되었고
객체지향이 추가되면서 스네이크케이스와 카멜케이스등이 혼용되는 등 약간의 혼란이 생긴다는 의견이있다.
PHP 표준자료구조인 SPL 의 arrayObject 등이 기본배열보다 느리고 확장성이 떨어지는등 제 구실을 못하고 있어서
대게 PHP 개발에서는 기본 연관배열을 사용한다.

== PHP로 작성되어 출시된 프로그램들 ==
PHP는 기존에, 사람들이 생각해오지 않았던 방향으로도 발전해가고 있었다. 웹으로 구현되리라 생각해오지 않았던 ERP, CRM 등의 경영에 관련한 프로그램이 개발하고 있다.<ref>JSP, ASP, Java</ref> PHP로 작성되어 출시된 프로그램은 [[워드프레스]], [[XpressEngine]], [[태터툴즈]], [[PhpBB|PHPBB]], [[드루팔]], [[라이믹스]] [[제로보드]], [[그누보드]], [[테크노트]], [[심포니 (웹 프레임워크)|심포니]], [[라라벨]] 등이 있다. 이 프로그램들은 소스가 오픈된 채 출시된 프로그램이 많다. 그리고 이 프로그램들은 개인 서버에 설치하여도 활용이 가능한 경우가 있으며, 개인/기관의 차원을 넘어, 그 활용의 형태로는 커뮤니티 사이트, 블로그 등을 들 수 있다.
상용 프로그램들은 CRM, ERP 등, 즉, 기업 경영에 활용하기 좋은 형태로, 수많은 프로그램들이 실용화된다. 이것은 기존의 C언어와 같은 언어에서처럼 모듈로 존재하기도 한다.

== 같이 보기 ==
{{위키공용분류}}
* [[LAMP (소프트웨어 번들)]]
* [[라라벨]]
* [[심포니 (웹 프레임워크)]]
* [[코드이그나이터]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{공식 웹사이트}}
* {{저널 인용|quote=What's the Absolute Minimum I Must Know About PHP? |url= https://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/ |title=What is Code? |author=Paul Ford |date=June 11, 2015 |journal=[[Bloomberg Businessweek]]}}
* {{Curlie|Computers/Programming/Languages/PHP}}

{{PHP}}
{{자유-오픈 소스 소프트웨어}}
{{주요 프로그래밍 언어}}
{{전거 통제}}

[[분류:PHP| ]]
[[분류:스크립트 언어]]
[[분류:자유 소프트웨어]]
[[분류:1995년 개발된 프로그래밍 언어]]
[[분류:PHP 라이선스 소프트웨어]]
[[분류:동적 프로그래밍 언어]]
[[분류:자유 컴파일러와 인터프리터]]
[[분류:동적 타입 프로그래밍 언어]]
[[분류:텍스트 지향 프로그래밍 언어]]
[[분류:고급 프로그래밍 언어]]