PHP 8.0

공용체 유형, 속성, JIT 등이 있는
미래로 나아갈 준비가 되었나요?

str_contains()가 지원되는 PHP

어떤 문자열이 다른 문자열에 포함되었는 여부를 검사하는 기능이요?
약 25년이면 가능할 겁니다.

str_contains()가 지원되는 PHP

어떤 문자열이 다른 문자열에 포함되었는 여부를 검사하는 기능이요?
약 25년이면 가능할 겁니다.

2020

PHP 7.4

유형화된 속성, 화살표 함수, 숫자 리터럴 구분 기호, FFI 및 OPcache 프리로딩.

PHP 7.4

유형화된 속성, 화살표 함수, 숫자 리터럴 구분 기호, FFI 및 OPcache 프리로딩.

Nikita Popov, PhpStorm 팀에 합류

오랫동안 PHP 에코시스템에 기여해온 유명한 기여자가 PhpStorm 팀과 협력하여 PHP 언어 및 에코시스템을 개선하기 위해 JetBrains 일원으로 합류합니다.

Nikita Popov, PhpStorm 팀에 합류

오랫동안 PHP 에코시스템에 기여해온 유명한 기여자가 PhpStorm 팀과 협력하여 PHP 언어 및 에코시스템을 개선하기 위해 JetBrains 일원으로 합류합니다.

2019

PHP 7.3

Heredoc 및 Nowdoc 문자열 업데이트, 인수 목록의 후행 쉼표, 새로운 hrtime() 함수 및 개선된 가비지 컬렉션

PHP 7.3

Heredoc 및 Nowdoc 문자열 업데이트, 인수 목록의 후행 쉼표, 새로운 hrtime() 함수 및 개선된 가비지 컬렉션

Zeev Suraski, Zend 퇴사

Zend의 2명의 창립자 중 Zeev Suraski가 회사를 떠납니다. 또한 Matthew Weier O'Phinney와 Enrico Zimuel도 퇴사했습니다.

Zeev Suraski, Zend 퇴사

Zend의 2명의 창립자 중 Zeev Suraski가 회사를 떠납니다. 또한 Matthew Weier O'Phinney와 Enrico Zimuel도 퇴사했습니다.

PSR-15 HTTP 서버 리퀘스트 핸들러 채택

표준은 PHP에서 요청 핸들러 및 미들웨어를 작성하는 법을 제시합니다.

PSR-15 HTTP 서버 리퀘스트 핸들러 채택

표준은 PHP에서 요청 핸들러 및 미들웨어를 작성하는 법을 제시합니다.

2018

PHP 7.2

libsodium이 함께 제공되면서 PHP는 표준 라이브러리 내에 현대적 암호화 기술을 탑재한 최초의 프로그래밍 언어로 자리 잡았습니다. 또한 object 유형 힌트 및 매개변수 유형 확장 기능도 지원했습니다.

PHP 7.2

libsodium이 함께 제공되면서 PHP는 표준 라이브러리 내에 현대적 암호화 기술을 탑재한 최초의 프로그래밍 언어로 자리 잡았습니다. 또한 object 유형 힌트 및 매개변수 유형 확장 기능도 지원했습니다.

인기 프로젝트의 HHVM 지원 종료

인기 프로젝트의 HHVM 지원 종료

  

PSR-11 컨테이너 인터페이스 채택

프레임워크 및 라이브러리에서 객체와 매개변수를 얻기 위해 컨테이너가 활용되는 방식을 표준화

PSR-11 컨테이너 인터페이스 채택

프레임워크 및 라이브러리에서 객체와 매개변수를 얻기 위해 컨테이너가 활용되는 방식을 표준화

2017

PHP 7.1

Nullable 유형, 클래스 상수 가시성 한정자, void 반환 유형 및 성능 부스트.

PHP 7.1

Nullable 유형, 클래스 상수 가시성 한정자, void 반환 유형 및 성능 부스트.
코루틴이 추가된 Swoole 2 공개
코루틴이 추가된 Swoole 2 공개
 

2016

PHP 7.0

주요 언어 업데이트에는 Zend Engine 3(PHPNG) 및 다양한 개선 사항과 신규 기능이 포함되었습니다. 그뿐 아니라 기존 PHP 5.6 버전보다 두 배 빨라졌습니다!

PHP 7.0

주요 언어 업데이트에는 Zend Engine 3(PHPNG) 및 다양한 개선 사항과 신규 기능이 포함되었습니다. 그뿐 아니라 기존 PHP 5.6 버전보다 두 배 빨라졌습니다!

Rogue Wave, Zend 인수

PHP 3부터 PHP를 지원해온 기업인 Zend는 Rogue Wave에 인수되었습니다.

Rogue Wave, Zend 인수

PHP 3부터 PHP를 지원해온 기업인 Zend는 Rogue Wave에 인수되었습니다.

PHP 20주년

PHP 20주년

  

PSR-7 HTTP 메시지 인터페이스 채택

마침내 표준이 HTTP 요청을 처리하고 OOP 방식에 대응하는 법을 결정했습니다.

PSR-7 HTTP 메시지 인터페이스 채택

마침내 표준이 HTTP 요청을 처리하고 OOP 방식에 대응하는 법을 결정했습니다.

CodeIgniter 3

CodeIgniter 3

 

2015

PHP 5.6

PHP 5의 마지막 주요 버전에는 상수 scalar 표현식, 가변인자 함수 및 인수 언패킹에 사용되는 splat ... 연산자, use 키워드를 활용한 함수 및 상수 가져오기, 통합 디버거 phpdbg 및 GMP 객체에 대한 연산자 오버로드(PHP에 이런 기능도 있답니다!) 등의 기능이 추가되었습니다.

PHP 5.6

PHP 5의 마지막 주요 버전에는 상수 scalar 표현식, 가변인자 함수 및 인수 언패킹에 사용되는 splat ... 연산자, use 키워드를 활용한 함수 및 상수 가져오기, 통합 디버거 phpdbg 및 GMP 객체에 대한 연산자 오버로드(PHP에 이런 기능도 있답니다!) 등의 기능이 추가되었습니다.

PHP 언어 사양

PHP의 인기와 오랜 역사에도 불구하고 2014년까지는 공식적인 사양서가 없었습니다. 이 사양서는 Facebook에서 처음 만들어져 향후 모든 저작권은 전 세계적인 공공영역으로 이전되었습니다.

PHP 언어 사양

PHP의 인기와 오랜 역사에도 불구하고 2014년까지는 공식적인 사양서가 없었습니다. 이 사양서는 Facebook에서 처음 만들어져 향후 모든 저작권은 전 세계적인 공공영역으로 이전되었습니다.

Facebook, Hack 도입

Hack 프로그래밍 언어는 PHP 파생 언어로 탄생하였으며 다양한 신규 기능으로 PHP를 확장했습니다. 그 이후로 성공적인 몇몇 솔루션이 PHP에 추가되고, 지속적으로 개발자에게 영감을 제공하고 있습니다.

Facebook, Hack 도입

Hack 프로그래밍 언어는 PHP 파생 언어로 탄생하였으며 다양한 신규 기능으로 PHP를 확장했습니다. 그 이후로 성공적인 몇몇 솔루션이 PHP에 추가되고, 지속적으로 개발자에게 영감을 제공하고 있습니다.

2014

PHP 5.5

생성기 및 코루틴, finally 키워드, ::class를 통한 scalar 클래스 이름 분석. 번들로 제공되는 Zend OPcache 확장 프로그램을 사용하면 명령 코드 캐싱을 수행할 수 있으며 다양한 성능 최적화의 가능성이 열립니다.

PHP 5.5

생성기 및 코루틴, finally 키워드, ::class를 통한 scalar 클래스 이름 분석. 번들로 제공되는 Zend OPcache 확장 프로그램을 사용하면 명령 코드 캐싱을 수행할 수 있으며 다양한 성능 최적화의 가능성이 열립니다.

Laravel 4

Laravel 4로도 알려진 Illuminate는 프레임워크를 구성하기 위해 통합된 구성 요소의 집합으로 완전히 새롭게 작성되었습니다. 그리고 이때 Facades가 등장합니다.

Laravel 4

Laravel 4로도 알려진 Illuminate는 프레임워크를 구성하기 위해 통합된 구성 요소의 집합으로 완전히 새롭게 작성되었습니다. 그리고 이때 Facades가 등장합니다.

React v0.3

ReactPHP 최초 공개 버전은 PHP 애플리케이션에 비동기 모델이 도입될 수 있음을 입증하였습니다. React.js는 아직 존재하지 않았으며 "React"라고만 지칭되었습니다.

React v0.3

ReactPHP 최초 공개 버전은 PHP 애플리케이션에 비동기 모델이 도입될 수 있음을 입증하였습니다. React.js는 아직 존재하지 않았으며 "React"라고만 지칭되었습니다.

Zend Optimizer+ 오픈 소스로 탄생

Zend Optimizer+ 오픈 소스로 탄생

 

2013

PHP The Right Way

"Right way(PHP를 사용하는 올바른 방법)"는 PHP 지혜의 원천이자 전 세계 개발자에게 최고의 실습 자료가 됩니다.

PHP The Right Way

"Right way(PHP를 사용하는 올바른 방법)"는 PHP 지혜의 원천이자 전 세계 개발자에게 최고의 실습 자료가 됩니다.
Phalcon 프레임워크 공개
Phalcon 프레임워크 공개
 

PSR-1 및 PSR-2 채택

탭 vs 스페이스 전쟁이 끝났습니다!

PSR-1 및 PSR-2 채택

탭 vs 스페이스 전쟁이 끝났습니다!

PHP: 잘못된 디자인의 프랙탈

해당 게시물은 그 당시 수많은 PHP 문제점을 요약하여 제시합니다. 그 중 많은 문제가 나중에 수정되었지만 PHP를 비난하는 사람들은 여전히 이 기사를 근거 자료로 사용합니다.

PHP: 잘못된 디자인의 프랙탈

해당 게시물은 그 당시 수많은 PHP 문제점을 요약하여 제시합니다. 그 중 많은 문제가 나중에 수정되었지만 PHP를 비난하는 사람들은 여전히 이 기사를 근거 자료로 사용합니다.

PHP 5.4

특성, 단축 배열 구문, 테스트 목적의 자체 웹서버 등의 기능은 탁월하게 개선된 성능을 자랑했으며 메모리 용량 감소 및 100회 이상의 버그 수정도 이루어졌습니다.

PHP 5.4

특성, 단축 배열 구문, 테스트 목적의 자체 웹서버 등의 기능은 탁월하게 개선된 성능을 자랑했으며 메모리 용량 감소 및 100회 이상의 버그 수정도 이루어졌습니다.

2012

Composer

2011년경 모든 주요 언어는 npm, Bundler, pip, NuGet과 같은 자체 패키지 관리자를 이미 포함하고 있었습니다. PHP도 마지막으로 Jordi Boggiano, Nils Adermann 와 여러 기여자의 지원에 힘입어 최첨단 패키지 관리 도구를 탑재하게 됩니다.
OHAI PHP DEVS, Y U NO PACKAGE?

Composer

2011년경 모든 주요 언어는 npm, Bundler, pip, NuGet과 같은 자체 패키지 관리자를 이미 포함하고 있었습니다. PHP도 마지막으로 Jordi Boggiano, Nils Adermann 와 여러 기여자의 지원에 힘입어 최첨단 패키지 관리 도구를 탑재하게 됩니다.
OHAI PHP DEVS, Y U NO PACKAGE?

Laravel 1

Taylor Otwell은 CodeIgniter 프레임워크에 대한 더욱 향상된 대안을 제시하고자 Laravel을 만듭니다. 이는 전체 PHP 판도를 뒤흔들 혁신이 됩니다.

Laravel 1

Taylor Otwell은 CodeIgniter 프레임워크에 대한 더욱 향상된 대안을 제시하고자 Laravel을 만듭니다. 이는 전체 PHP 판도를 뒤흔들 혁신이 됩니다.

2011

PSR-0 채택

네임스페이스가 추가된 후 마침내 PHP에 적절한 자동 로딩 기능이 탑재되었습니다. 최초의 PSR 표준이 채택되기 전에는 PHP 파일은 'include' 및 'require' 구문이 마구잡이로 뒤섞인 것에 불과했습니다.

PSR-0 채택

네임스페이스가 추가된 후 마침내 PHP에 적절한 자동 로딩 기능이 탑재되었습니다. 최초의 PSR 표준이 채택되기 전에는 PHP 파일은 'include' 및 'require' 구문이 마구잡이로 뒤섞인 것에 불과했습니다.

PhpStorm 1.0 출시

기존에 업무상 이름인 "Web IDE"로 알려져 있던 PhpStorm이 Xdebug, PHPUnit 및 Zend 프레임워크 지원과 함께 출시되었습니다.

PhpStorm 1.0 출시

기존에 업무상 이름인 "Web IDE"로 알려져 있던 PhpStorm이 Xdebug, PHPUnit 및 Zend 프레임워크 지원과 함께 출시되었습니다.

2010

PHP-FIG

다양한 PHP 프로젝트에 참여한 사람들이 2009년 php|tek 컨퍼런스에 모입니다. 바로 이곳에서 PHP-FIG(프레임워크 상호 운용성 그룹)의 아이디어가 탄생합니다. PSR이라 불리운 FIG의 권장 사항은 PHP 에코시스템의 판도를 대폭 변화시키는 계기가 됩니다.

PHP-FIG

다양한 PHP 프로젝트에 참여한 사람들이 2009년 php|tek 컨퍼런스에 모입니다. 바로 이곳에서 PHP-FIG(프레임워크 상호 운용성 그룹)의 아이디어가 탄생합니다. PSR이라 불리운 FIG의 권장 사항은 PHP 에코시스템의 판도를 대폭 변화시키는 계기가 됩니다.

PHP 5.3

큰 기대를 한 몸에 받는 네임스페이스 지원, 지연 정적 바인딩, 익명 함수가 추가되면서 드디어 PHP도 성숙한 언어로 자리 잡았습니다. goto 연산자가 지원되지 않는 성숙한 언어가 있을까요?

PHP 5.3

큰 기대를 한 몸에 받는 네임스페이스 지원, 지연 정적 바인딩, 익명 함수가 추가되면서 드디어 PHP도 성숙한 언어로 자리 잡았습니다. goto 연산자가 지원되지 않는 성숙한 언어가 있을까요?

2009

2008

Xdebug 2.0

향상된 스택 추적 기능, 파일 실행 추적, 코드 커버리지 분석 및 훨씬 개선된 원격 디버그 지원.

Xdebug 2.0

향상된 스택 추적 기능, 파일 실행 추적, 코드 커버리지 분석 및 훨씬 개선된 원격 디버그 지원.

ElePHPant – PHP 마스코트

Vincent Pontier의 디자인을 기반으로 Damien Seguy가 세상에 공개했습니다.

ElePHPant – PHP 마스코트

Vincent Pontier의 디자인을 기반으로 Damien Seguy가 세상에 공개했습니다.

2007

PHP 5.2

Zend Engine용 새 메모리 관리자와 입력 필터링, JSON 및 ZIP 확장, 파일 업로드 진행사항 추적, 날짜 및 시간 객체와 같은 신규 기능이 추가된 PHP 5.2 버전은 엄청난 성공을 거두었으며 2013년까지 가장 많이 사용되는 버전이었습니다.

PHP 5.2

Zend Engine용 새 메모리 관리자와 입력 필터링, JSON 및 ZIP 확장, 파일 업로드 진행사항 추적, 날짜 및 시간 객체와 같은 신규 기능이 추가된 PHP 5.2 버전은 엄청난 성공을 거두었으며 2013년까지 가장 많이 사용되는 버전이었습니다.

Zend 프레임워크 초기 공개

Zend Framework는 재사용 가능한 구성 요소로 개발된 최초의 프레임워크 중 하나였으며 "최고의 단순함"과 "활용이 자유로운 아키텍처"를 목표로 했습니다. 2005년 공개된 이후 PHP가 엔터프라이즈급 시장으로 진출하는 데 도움을 주었습니다.

Zend 프레임워크 초기 공개

Zend Framework는 재사용 가능한 구성 요소로 개발된 최초의 프레임워크 중 하나였으며 "최고의 단순함"과 "활용이 자유로운 아키텍처"를 목표로 했습니다. 2005년 공개된 이후 PHP가 엔터프라이즈급 시장으로 진출하는 데 도움을 주었습니다.

CodeIgniter 1

CodeIgniter는 최초의 고속 개발 프레임워크 중 하나로, 오늘날까지 활용되며 인기를 누릴 뿐 아니라 개발자들이 Laravel, FuelPHP, Kohana 및 Yii 등의 다양한 차세대 프레임워크를 개발하는 데 영향을 미쳤습니다.

CodeIgniter 1

CodeIgniter는 최초의 고속 개발 프레임워크 중 하나로, 오늘날까지 활용되며 인기를 누릴 뿐 아니라 개발자들이 Laravel, FuelPHP, Kohana 및 Yii 등의 다양한 차세대 프레임워크를 개발하는 데 영향을 미쳤습니다.

2006

PHP 5.1

향상된 시간대 지원, 기본적으로 활성화된 PDO, PHP 5.0에 비해 개선된 주요 성능을 통해 완전히 다시 작성된 날짜 처리 코드.

PHP 5.1

향상된 시간대 지원, 기본적으로 활성화된 PDO, PHP 5.0에 비해 개선된 주요 성능을 통해 완전히 다시 작성된 날짜 처리 코드.

2005

PRADO 버전 1

PHP 5를 사용하는 최초의 프레임워크. Prado는 Apache Tapestry, Borland Delphi 및 Microsoft ASP.NET에서 영감을 얻어 탄생했습니다.

PRADO 버전 1

PHP 5를 사용하는 최초의 프레임워크. Prado는 Apache Tapestry, Borland Delphi 및 Microsoft ASP.NET에서 영감을 얻어 탄생했습니다.

PHP 5.0

새 객체 모델 및 확장기능(SimpleXML, SOAP, MySQLi, SQLite)을 갖춘 Zend Engine II는 저수준 소켓 운영 액세스 기능과 함께 스트림 기능을 대폭 개선했습니다.

PHP 5.0

새 객체 모델 및 확장기능(SimpleXML, SOAP, MySQLi, SQLite)을 갖춘 Zend Engine II는 저수준 소켓 운영 액세스 기능과 함께 스트림 기능을 대폭 개선했습니다.

2004

Dmitry Stogov, Zend에 합류

Dmitry는 Zend에 합류하여 PHP 5의 핵심 PHP 하위 시스템의 대부분의 개발을 하는데 도움을 줍니다. 이후에 Dmitry는 PHPNG 프로젝트를 주도하여 PHP 7의 속도를 새로운 수준으로 끌어올립니다 . 현재 Dmitry는 Zend by Perforce에서 수석 엔지니어로 근무하며 PHP용 JIT 컴파일러 개발을 이끌고 있습니다.

Dmitry Stogov, Zend에 합류

Dmitry는 Zend에 합류하여 PHP 5의 핵심 PHP 하위 시스템의 대부분의 개발을 하는데 도움을 줍니다. 이후에 Dmitry는 PHPNG 프로젝트를 주도하여 PHP 7의 속도를 새로운 수준으로 끌어올립니다 . 현재 Dmitry는 Zend by Perforce에서 수석 엔지니어로 근무하며 PHP용 JIT 컴파일러 개발을 이끌고 있습니다.

최초의 WordPress 공개

세계적으로 가장 널리 사용되는 CMS는 b2의 포크로 처음 등장했습니다. 이전 버전과 동일한 파일 구조가 사용되었으며 마지막 버전인 0.6에 이어 지속적으로 번호를 매겼습니다. WordPress 주요 버전은 버전 1.0부터 시작하여 유명 재즈 뮤지션의 이름을 따서 출시되었죠. 오늘날 WordPress 점유율은 전체 웹사이트의 1/3 이상을 차지합니다.

최초의 WordPress 공개

세계적으로 가장 널리 사용되는 CMS는 b2의 포크로 처음 등장했습니다. 이전 버전과 동일한 파일 구조가 사용되었으며 마지막 버전인 0.6에 이어 지속적으로 번호를 매겼습니다. WordPress 주요 버전은 버전 1.0부터 시작하여 유명 재즈 뮤지션의 이름을 따서 출시되었죠. 오늘날 WordPress 점유율은 전체 웹사이트의 1/3 이상을 차지합니다.

2003

Derick Rethans의 PHP 회고록

2월 11일 Erik은 "PHP는 수명을 다했으며 실제로는 사멸되는 언어다"라는 소문이 사실일지 궁금했습니다.

음, 글쎄요, 아무것도 변하지 않았죠. PHP의 비공식 슬로건은 "1995년부터 사멸되고 있음"입니다.

Derick Rethans의 PHP 회고록

2월 11일 Erik은 "PHP는 수명을 다했으며 실제로는 사멸되는 언어다"라는 소문이 사실일지 궁금했습니다.

음, 글쎄요, 아무것도 변하지 않았죠. PHP의 비공식 슬로건은 "1995년부터 사멸되고 있음"입니다.

2002

APC 최초 공개

APC 최초 공개

  

PHPUnit 최초 커밋

Sebastian Bergmann은 SUnit 및 JUnit에서 영감을 얻어 가장 많이 사용되는 PHP 테스트 프레임워크 개발을 시작합니다.

PHPUnit 최초 커밋

Sebastian Bergmann은 SUnit 및 JUnit에서 영감을 얻어 가장 많이 사용되는 PHP 테스트 프레임워크 개발을 시작합니다.

Smarty 공개

가장 잘 알려진 PHP용 템플릿 엔진.
Rasmus는 본인의 템플릿 엔진에서 다른 사람들이 그 템플릿 엔진을 위한 템플릿 엔진을 작성하는 것을 보고 자신의 실수를 깨닫게 됩니다.

Smarty 공개

가장 잘 알려진 PHP용 템플릿 엔진.
Rasmus는 본인의 템플릿 엔진에서 다른 사람들이 그 템플릿 엔진을 위한 템플릿 엔진을 작성하는 것을 보고 자신의 실수를 깨닫게 됩니다.

2001

최초의 PHP 컨퍼런스
최초의 PHP 컨퍼런스
  

Drupal 초기 버전

처음에는 게시판으로 만들어졌던 Drupal은 2001년 오픈 소스 프로젝트로 방향을 돌린 후 가장 인기 있는 CMS 시스템으로 성장했습니다.

Drupal 초기 버전

처음에는 게시판으로 만들어졌던 Drupal은 2001년 오픈 소스 프로젝트로 방향을 돌린 후 가장 인기 있는 CMS 시스템으로 성장했습니다.

PHP 4.0

PHP 4는 Andi와 Zeev가 개발한 완전히 새로운 버전의 "Zend Engine" 코어를 갖추었습니다. 대폭 개선된 성능과 더불어 PHP 4에는 보다 다양한 웹 서버, HTTP 세션, 출력 버퍼링 및 일부 신규 언어 구문에 대한 지원도 포함되었습니다.

PHP 4.0

PHP 4는 Andi와 Zeev가 개발한 완전히 새로운 버전의 "Zend Engine" 코어를 갖추었습니다. 대폭 개선된 성능과 더불어 PHP 4에는 보다 다양한 웹 서버, HTTP 세션, 출력 버퍼링 및 일부 신규 언어 구문에 대한 지원도 포함되었습니다.

2000

Zend 기업 설립

Zend라는 이름은 Suraski와 Gutmans의 이름인 Zeev와 Andi를 결합하여 탄생했습니다. Zend는 설립 이후 PHP 혁신과 개발의 근원으로 자리 잡았으며, 핵심적 개선 사항은 물론 userland 패키지 및 프레임워크, 개발 환경 도구에까지 기여했습니다.

Zend 기업 설립

Zend라는 이름은 Suraski와 Gutmans의 이름인 Zeev와 Andi를 결합하여 탄생했습니다. Zend는 설립 이후 PHP 혁신과 개발의 근원으로 자리 잡았으며, 핵심적 개선 사항은 물론 userland 패키지 및 프레임워크, 개발 환경 도구에까지 기여했습니다.

1999

ElePHPant 로고

Vincent Pontier는 PHP 프로젝트용 elePHPant 로고를 제작했으며, 그 이후로 이 로고는 PHP 언어의 귀여운 마스코트로 자리 잡았습니다.

ElePHPant 로고

Vincent Pontier는 PHP 프로젝트용 elePHPant 로고를 제작했으며, 그 이후로 이 로고는 PHP 언어의 귀여운 마스코트로 자리 잡았습니다.

phpMyAdmin 프로젝트 "탄생"

Tobias Ratschiller가 MySQL용 phpMyAdmin 웹 관리 도구 0.9.0 버전을 출시합니다. 이 버전은 오랫동안 MySQL 및 그와 유사한 데이터베이스 액세스 시 주요 도구로 활용되었습니다.

phpMyAdmin 프로젝트 "탄생"

Tobias Ratschiller가 MySQL용 phpMyAdmin 웹 관리 도구 0.9.0 버전을 출시합니다. 이 버전은 오랫동안 MySQL 및 그와 유사한 데이터베이스 액세스 시 주요 도구로 활용되었습니다.

PHP 3.0

PHP 3.0은 오늘날의 PHP와 매우 유사한 기능을 갖춘 최초의 버전입니다. Zeev와 Andi는 인터프리터를 다시 작성하고 새로운 확장 API를 도입하여 커뮤니티 일원이 신규 확장 프로그램에 기여하는 작업을 훨씬 간편하게 만들었습니다. 전 세계에서 수많은 개발자가 새로이 합류하면서 새로운 PHP 개발 팀이 PHP 3를 공개했습니다.
이후 재귀 약어인 "PHP: Hypertext Preprocessor"로 그 이름이 변경되었습니다. 전성기의 PHP 3 설치율은 인터넷 전체 웹 서버에서 10%에 달했습니다.

PHP 3.0

PHP 3.0은 오늘날의 PHP와 매우 유사한 기능을 갖춘 최초의 버전입니다. Zeev와 Andi는 인터프리터를 다시 작성하고 새로운 확장 API를 도입하여 커뮤니티 일원이 신규 확장 프로그램에 기여하는 작업을 훨씬 간편하게 만들었습니다. 전 세계에서 수많은 개발자가 새로이 합류하면서 새로운 PHP 개발 팀이 PHP 3를 공개했습니다.
이후 재귀 약어인 "PHP: Hypertext Preprocessor"로 그 이름이 변경되었습니다. 전성기의 PHP 3 설치율은 인터넷 전체 웹 서버에서 10%에 달했습니다.
Netcraft 설문조사
Netcraft 설문조사
  

1998

Andi Gutmans와 Zeev Suraski가 프로젝트에 합류

이스라엘 할리파에 위치한 Technion의 학생이었던 Andi Gutmans와 Zeev Suraski는 교내 프로젝트로 개발 중인 이커머스 애플리케이션에 사용할 백엔드 솔루션이 필요했습니다. Andi와 Zeev는 PHP/FI 2.0은 효율성이 떨어지고 기능이 부족하다고 생각하여, 1997년, 기존 인터프리터를 완전히 다시 작성하기 시작합니다. 그 후 현재 PHP 구현 상황 및 재개발과 관련한 다양한 측면을 논의하고자 온라인으로 Rasmus에게 연락을 취하게 됩니다.

Andi Gutmans와 Zeev Suraski가 프로젝트에 합류

이스라엘 할리파에 위치한 Technion의 학생이었던 Andi Gutmans와 Zeev Suraski는 교내 프로젝트로 개발 중인 이커머스 애플리케이션에 사용할 백엔드 솔루션이 필요했습니다. Andi와 Zeev는 PHP/FI 2.0은 효율성이 떨어지고 기능이 부족하다고 생각하여, 1997년, 기존 인터프리터를 완전히 다시 작성하기 시작합니다. 그 후 현재 PHP 구현 상황 및 재개발과 관련한 다양한 측면을 논의하고자 온라인으로 Rasmus에게 연락을 취하게 됩니다.

PHP 2.0

PHP/FI 2.0 버전이 출시됩니다. 하지만 흥미롭게도 PHP 2.0의 풀 버전은 단 하나뿐이었습니다. 1997년 11월 드디어 베타 버전의 타이틀을 떼었을 때 기존의 구문 분석 엔진은 이미 완전히 새롭게 작성되는 중이었습니다.

PHP 2.0

PHP/FI 2.0 버전이 출시됩니다. 하지만 흥미롭게도 PHP 2.0의 풀 버전은 단 하나뿐이었습니다. 1997년 11월 드디어 베타 버전의 타이틀을 떼었을 때 기존의 구문 분석 엔진은 이미 완전히 새롭게 작성되는 중이었습니다.

1997

PHP/FI

다시 한번 완전히 새로운 코드 재구축이 이루어졌고, 1996년 4월 Rasmus는 이전 버전의 이름을 결합하여 PHP/FI를 선보입니다. 2세대 구현을 통해 PHP가 도구 집합에서 프로그래밍 언어로 진화하는 진정한 변화가 시작되었습니다. 여기에는 DBM, mSQL, Postgres95 데이터베이스, 쿠키, 사용자 정의 함수 지원 등의 다양한 기능에 대한 지원이 포함되었습니다.

PHP/FI

다시 한번 완전히 새로운 코드 재구축이 이루어졌고, 1996년 4월 Rasmus는 이전 버전의 이름을 결합하여 PHP/FI를 선보입니다. 2세대 구현을 통해 PHP가 도구 집합에서 프로그래밍 언어로 진화하는 진정한 변화가 시작되었습니다. 여기에는 DBM, mSQL, Postgres95 데이터베이스, 쿠키, 사용자 정의 함수 지원 등의 다양한 기능에 대한 지원이 포함되었습니다.

1996

Personal Home Page Construction Kit(개인용 홈페이지 구성 키트)

Rasmus는 완전히 새롭게 작성된 코드를 출시했습니다. PHP 이름을 다시 가져와 "Personal Home Page Construction Kit(개인용 홈페이지 구성 키트)"로 명명하였습니다. 그 당시로서는 첨단 스크립트 인터페이스로 간주되는 기능을 최초로 선보인 사례였습니다.
이 언어는 구조적 면에서 의도적으로 C와 유사하게 설계되어 C, Perl과 같은 언어에 익숙한 개발자가 쉽게 채택할 수 있었습니다.

Personal Home Page Construction Kit(개인용 홈페이지 구성 키트)

Rasmus는 완전히 새롭게 작성된 코드를 출시했습니다. PHP 이름을 다시 가져와 "Personal Home Page Construction Kit(개인용 홈페이지 구성 키트)"로 명명하였습니다. 그 당시로서는 첨단 스크립트 인터페이스로 간주되는 기능을 최초로 선보인 사례였습니다.
이 언어는 구조적 면에서 의도적으로 C와 유사하게 설계되어 C, Perl과 같은 언어에 익숙한 개발자가 쉽게 채택할 수 있었습니다.

FI

Rasmus는 PHP를 확장하였습니다. 그리고 실제로 잠깐 동안 PHP라는 이름을 버리고 "Forms Interpreter(형식 인터프리터)"의 약자인 FI라는 이름을 사용했습니다. 새 구현에는 오늘날 우리가 알고 있는 PHP의 기본적 기능이 포함되어 있었습니다.

FI

Rasmus는 PHP를 확장하였습니다. 그리고 실제로 잠깐 동안 PHP라는 이름을 버리고 "Forms Interpreter(형식 인터프리터)"의 약자인 FI라는 이름을 사용했습니다. 새 구현에는 오늘날 우리가 알고 있는 PHP의 기본적 기능이 포함되어 있었습니다.

PHP Tools – PHP의 탄생

Rasmus는 PHP Tools를 공개적으로 출시하였습니다.

PHP Tools – PHP의 탄생

Rasmus는 PHP Tools를 공개적으로 출시하였습니다.

1995

Rasmus Lerdorf, PHP 개발 시작 

최초의 PHP 구현은 (Perl이 아닌) C 프로그래밍 언어로 작성된 CGI(일반 게이트웨이 인터페이스) 2진의 단순 모음에 불과했습니다. 처음에는 Rasmus Lerdorf의 온라인 이력서 방문 기록을 추적하는 데 사용되었으며, Rasmus는 해당 스크립트 도구 모음을 "Personal Home Page Tools(개인용 홈페이지 도구)"라 명명하였습니다. 더욱 널리 사용된 명칭은 "PHP Tools"였지만요.

str_contains()가 지원되는 PHP

어떤 문자열이 다른 문자열에 포함되었는 여부를 검사하는 기능이요?
약 25년이면 가능할 겁니다.

2020

PHP 7.4

유형화된 속성, 화살표 함수, 숫자 리터럴 구분 기호, FFI 및 OPcache 프리로딩.

Nikita Popov, PhpStorm 팀에 합류

오랫동안 PHP 에코시스템에 기여해온 유명한 기여자가 PhpStorm 팀과 협력하여 PHP 언어 및 에코시스템을 개선하기 위해 JetBrains 일원으로 합류합니다.
PHP 5.6.40 – PHP 5의 마지막 버전

2019

PHP 7.3

Heredoc 및 Nowdoc 문자열 업데이트, 인수 목록의 후행 쉼표, 새로운 hrtime() 함수 및 개선된 가비지 컬렉션

Zeev Suraski, Zend 퇴사

Zend의 2명의 창립자 중 Zeev Suraski가 회사를 떠납니다. 또한 Matthew Weier O'Phinney와 Enrico Zimuel도 퇴사했습니다.

PSR-15 HTTP 서버 리퀘스트 핸들러 채택

표준은 PHP에서 요청 핸들러 및 미들웨어를 작성하는 법을 제시합니다.

2018

PHP 7.2

libsodium이 함께 제공되면서 PHP는 표준 라이브러리 내에 현대적 암호화 기술을 탑재한 최초의 프로그래밍 언어로 자리 잡았습니다. 또한 object 유형 힌트 및 매개변수 유형 확장 기능도 지원했습니다.

인기 프로젝트의 HHVM 지원 종료

 

PSR-11 컨테이너 인터페이스 채택

프레임워크 및 라이브러리에서 객체와 매개변수를 얻기 위해 컨테이너가 활용되는 방식을 표준화

2017

PHP 7.0

주요 언어 업데이트에는 Zend Engine 3(PHPNG) 및 다양한 개선 사항과 신규 기능이 포함되었습니다. 그뿐 아니라 기존 PHP 5.6 버전보다 두 배 빨라졌습니다!

Rogue Wave, Zend 인수

PHP 3부터 PHP를 지원해온 기업인 Zend는 Rogue Wave에 인수되었습니다.

PHP 20주년

 

PSR-7 HTTP 메시지 인터페이스 채택

마침내 표준이 HTTP 요청을 처리하고 OOP 방식에 대응하는 법을 결정했습니다.

CodeIgniter 3

2015

PHP 5.6

PHP 5의 마지막 주요 버전에는 상수 scalar 표현식, 가변인자 함수 및 인수 언패킹에 사용되는 splat ... 연산자, use 키워드를 활용한 함수 및 상수 가져오기, 통합 디버거 phpdbg 및 GMP 객체에 대한 연산자 오버로드(PHP에 이런 기능도 있답니다!) 등의 기능이 추가되었습니다.

PHP 언어 사양

PHP의 인기와 오랜 역사에도 불구하고 2014년까지는 공식적인 사양서가 없었습니다. 이 사양서는 Facebook에서 처음 만들어져 향후 모든 저작권은 전 세계적인 공공영역으로 이전되었습니다.

Facebook, Hack 도입

Hack 프로그래밍 언어는 PHP 파생 언어로 탄생하였으며 다양한 신규 기능으로 PHP를 확장했습니다. 그 이후로 성공적인 몇몇 솔루션이 PHP에 추가되고, 지속적으로 개발자에게 영감을 제공하고 있습니다.

2014

PHP 5.5

생성기 및 코루틴, finally 키워드, ::class를 통한 scalar 클래스 이름 분석. 번들로 제공되는 Zend OPcache 확장 프로그램을 사용하면 명령 코드 캐싱을 수행할 수 있으며 다양한 성능 최적화의 가능성이 열립니다.

Laravel 4

Laravel 4로도 알려진 Illuminate는 프레임워크를 구성하기 위해 통합된 구성 요소의 집합으로 완전히 새롭게 작성되었습니다. 그리고 이때 Facades가 등장합니다.

React v0.3

ReactPHP 최초 공개 버전은 PHP 애플리케이션에 비동기 모델이 도입될 수 있음을 입증하였습니다. React.js는 아직 존재하지 않았으며 "React"라고만 지칭되었습니다.

Zend Optimizer+ 오픈 소스로 탄생

2013

PHP The Right Way

"Right way(PHP를 사용하는 올바른 방법)"는 PHP 지혜의 원천이자 전 세계 개발자에게 최고의 실습 자료가 됩니다.
Phalcon 프레임워크 공개

PSR-1 및 PSR-2 채택

탭 vs 스페이스 전쟁이 끝났습니다!

PHP: 잘못된 디자인의 프랙탈

해당 게시물은 그 당시 수많은 PHP 문제점을 요약하여 제시합니다. 그 중 많은 문제가 나중에 수정되었지만 PHP를 비난하는 사람들은 여전히 이 기사를 근거 자료로 사용합니다.

PHP 5.4

특성, 단축 배열 구문, 테스트 목적의 자체 웹서버 등의 기능은 탁월하게 개선된 성능을 자랑했으며 메모리 용량 감소 및 100회 이상의 버그 수정도 이루어졌습니다.

2012

Composer

2011년경 모든 주요 언어는 npm, Bundler, pip, NuGet과 같은 자체 패키지 관리자를 이미 포함하고 있었습니다. PHP도 마지막으로 Jordi Boggiano, Nils Adermann 와 여러 기여자의 지원에 힘입어 최첨단 패키지 관리 도구를 탑재하게 됩니다.
OHAI PHP DEVS, Y U NO PACKAGE?

Laravel 1

Taylor Otwell은 CodeIgniter 프레임워크에 대한 더욱 향상된 대안을 제시하고자 Laravel을 만듭니다. 이는 전체 PHP 판도를 뒤흔들 혁신이 됩니다.

2011

PSR-0 채택

네임스페이스가 추가된 후 마침내 PHP에 적절한 자동 로딩 기능이 탑재되었습니다. 최초의 PSR 표준이 채택되기 전에는 PHP 파일은 'include' 및 'require' 구문이 마구잡이로 뒤섞인 것에 불과했습니다.

PhpStorm 1.0 출시

기존에 업무상 이름인 "Web IDE"로 알려져 있던 PhpStorm이 Xdebug, PHPUnit 및 Zend 프레임워크 지원과 함께 출시되었습니다.

2010

PHP-FIG

다양한 PHP 프로젝트에 참여한 사람들이 2009년 php|tek 컨퍼런스에 모입니다. 바로 이곳에서 PHP-FIG(프레임워크 상호 운용성 그룹)의 아이디어가 탄생합니다. PSR이라 불리운 FIG의 권장 사항은 PHP 에코시스템의 판도를 대폭 변화시키는 계기가 됩니다.

PHP 5.3

큰 기대를 한 몸에 받는 네임스페이스 지원, 지연 정적 바인딩, 익명 함수가 추가되면서 드디어 PHP도 성숙한 언어로 자리 잡았습니다. goto 연산자가 지원되지 않는 성숙한 언어가 있을까요?

2009

Xdebug 2.0

향상된 스택 추적 기능, 파일 실행 추적, 코드 커버리지 분석 및 훨씬 개선된 원격 디버그 지원.

ElePHPant – PHP 마스코트

Vincent Pontier의 디자인을 기반으로 Damien Seguy가 세상에 공개했습니다.

2007

PHP 5.2

Zend Engine용 새 메모리 관리자와 입력 필터링, JSON 및 ZIP 확장, 파일 업로드 진행사항 추적, 날짜 및 시간 객체와 같은 신규 기능이 추가된 PHP 5.2 버전은 엄청난 성공을 거두었으며 2013년까지 가장 많이 사용되는 버전이었습니다.

Zend 프레임워크 초기 공개

Zend Framework는 재사용 가능한 구성 요소로 개발된 최초의 프레임워크 중 하나였으며 "최고의 단순함"과 "활용이 자유로운 아키텍처"를 목표로 했습니다. 2005년 공개된 이후 PHP가 엔터프라이즈급 시장으로 진출하는 데 도움을 주었습니다.

CodeIgniter 1

CodeIgniter는 최초의 고속 개발 프레임워크 중 하나로, 오늘날까지 활용되며 인기를 누릴 뿐 아니라 개발자들이 Laravel, FuelPHP, Kohana 및 Yii 등의 다양한 차세대 프레임워크를 개발하는 데 영향을 미쳤습니다.

2006

PHP 5.1

향상된 시간대 지원, 기본적으로 활성화된 PDO, PHP 5.0에 비해 개선된 주요 성능을 통해 완전히 다시 작성된 날짜 처리 코드.

2005

PRADO 버전 1

PHP 5를 사용하는 최초의 프레임워크. Prado는 Apache Tapestry, Borland Delphi 및 Microsoft ASP.NET에서 영감을 얻어 탄생했습니다.

PHP 5.0

새 객체 모델 및 확장기능(SimpleXML, SOAP, MySQLi, SQLite)을 갖춘 Zend Engine II는 저수준 소켓 운영 액세스 기능과 함께 스트림 기능을 대폭 개선했습니다.

2004

Dmitry Stogov, Zend에 합류

Dmitry는 Zend에 합류하여 PHP 5의 핵심 PHP 하위 시스템의 대부분의 개발을 하는데 도움을 줍니다. 이후에 Dmitry는 PHPNG 프로젝트를 주도하여 PHP 7의 속도를 새로운 수준으로 끌어올립니다 . 현재 Dmitry는 Zend by Perforce에서 수석 엔지니어로 근무하며 PHP용 JIT 컴파일러 개발을 이끌고 있습니다.

최초의 WordPress 공개

세계적으로 가장 널리 사용되는 CMS는 b2의 포크로 처음 등장했습니다. 이전 버전과 동일한 파일 구조가 사용되었으며 마지막 버전인 0.6에 이어 지속적으로 번호를 매겼습니다. WordPress 주요 버전은 버전 1.0부터 시작하여 유명 재즈 뮤지션의 이름을 따서 출시되었죠. 오늘날 WordPress 점유율은 전체 웹사이트의 1/3 이상을 차지합니다.

2003

Derick Rethans의 PHP 회고록

2월 11일 Erik은 "PHP는 수명을 다했으며 실제로는 사멸되는 언어다"라는 소문이 사실일지 궁금했습니다.

음, 글쎄요, 아무것도 변하지 않았죠. PHP의 비공식 슬로건은 "1995년부터 사멸되고 있음"입니다.

2002

APC 최초 공개

 

PHPUnit 최초 커밋

Sebastian Bergmann은 SUnit 및 JUnit에서 영감을 얻어 가장 많이 사용되는 PHP 테스트 프레임워크 개발을 시작합니다.

Smarty 공개

가장 잘 알려진 PHP용 템플릿 엔진.
Rasmus는 본인의 템플릿 엔진에서 다른 사람들이 그 템플릿 엔진을 위한 템플릿 엔진을 작성하는 것을 보고 자신의 실수를 깨닫게 됩니다.

2001

최초의 PHP 컨퍼런스
 

PHP 4.0

PHP 4는 Andi와 Zeev가 개발한 완전히 새로운 버전의 "Zend Engine" 코어를 갖추었습니다. 대폭 개선된 성능과 더불어 PHP 4에는 보다 다양한 웹 서버, HTTP 세션, 출력 버퍼링 및 일부 신규 언어 구문에 대한 지원도 포함되었습니다.

Drupal 초기 버전

처음에는 게시판으로 만들어졌던 Drupal은 2001년 오픈 소스 프로젝트로 방향을 돌린 후 가장 인기 있는 CMS 시스템으로 성장했습니다.

2000

Zend 기업 설립

Zend라는 이름은 Suraski와 Gutmans의 이름인 Zeev와 Andi를 결합하여 탄생했습니다. Zend는 설립 이후 PHP 혁신과 개발의 근원으로 자리 잡았으며, 핵심적 개선 사항은 물론 userland 패키지 및 프레임워크, 개발 환경 도구에까지 기여했습니다.

1999

ElePHPant 로고

Vincent Pontier는 PHP 프로젝트용 elePHPant 로고를 제작했으며, 그 이후로 이 로고는 PHP 언어의 귀여운 마스코트로 자리 잡았습니다.

phpMyAdmin 프로젝트 "탄생"

Tobias Ratschiller가 MySQL용 phpMyAdmin 웹 관리 도구 0.9.0 버전을 출시합니다. 이 버전은 오랫동안 MySQL 및 그와 유사한 데이터베이스 액세스 시 주요 도구로 활용되었습니다.

PHP 3.0

PHP 3.0은 오늘날의 PHP와 매우 유사한 기능을 갖춘 최초의 버전입니다. Zeev와 Andi는 인터프리터를 다시 작성하고 새로운 확장 API를 도입하여 커뮤니티 일원이 신규 확장 프로그램에 기여하는 작업을 훨씬 간편하게 만들었습니다. 전 세계에서 수많은 개발자가 새로이 합류하면서 새로운 PHP 개발 팀이 PHP 3를 공개했습니다.
이후 재귀 약어인 "PHP: Hypertext Preprocessor"로 그 이름이 변경되었습니다. 전성기의 PHP 3 설치율은 인터넷 전체 웹 서버에서 10%에 달했습니다.
Netcraft 설문조사
 

1998

Andi Gutmans와 Zeev Suraski가 프로젝트에 합류

이스라엘 할리파에 위치한 Technion의 학생이었던 Andi Gutmans와 Zeev Suraski는 교내 프로젝트로 개발 중인 이커머스 애플리케이션에 사용할 백엔드 솔루션이 필요했습니다. Andi와 Zeev는 PHP/FI 2.0은 효율성이 떨어지고 기능이 부족하다고 생각하여, 1997년, 기존 인터프리터를 완전히 다시 작성하기 시작합니다. 그 후 현재 PHP 구현 상황 및 재개발과 관련한 다양한 측면을 논의하고자 온라인으로 Rasmus에게 연락을 취하게 됩니다.

PHP 2.0

PHP/FI 2.0 버전이 출시됩니다. 하지만 흥미롭게도 PHP 2.0의 풀 버전은 단 하나뿐이었습니다. 1997년 11월 드디어 베타 버전의 타이틀을 떼었을 때 기존의 구문 분석 엔진은 이미 완전히 새롭게 작성되는 중이었습니다.

1997

PHP/FI

다시 한번 완전히 새로운 코드 재구축이 이루어졌고, 1996년 4월 Rasmus는 이전 버전의 이름을 결합하여 PHP/FI를 선보입니다. 2세대 구현을 통해 PHP가 도구 집합에서 프로그래밍 언어로 진화하는 진정한 변화가 시작되었습니다. 여기에는 DBM, mSQL, Postgres95 데이터베이스, 쿠키, 사용자 정의 함수 지원 등의 다양한 기능에 대한 지원이 포함되었습니다.

1996

Personal Home Page Construction Kit(개인용 홈페이지 구성 키트)

Rasmus는 완전히 새롭게 작성된 코드를 출시했습니다. PHP 이름을 다시 가져와 "Personal Home Page Construction Kit(개인용 홈페이지 구성 키트)"로 명명하였습니다. 그 당시로서는 첨단 스크립트 인터페이스로 간주되는 기능을 최초로 선보인 사례였습니다.
이 언어는 구조적 면에서 의도적으로 C와 유사하게 설계되어 C, Perl과 같은 언어에 익숙한 개발자가 쉽게 채택할 수 있었습니다.

FI

Rasmus는 PHP를 확장하였습니다. 그리고 실제로 잠깐 동안 PHP라는 이름을 버리고 "Forms Interpreter(형식 인터프리터)"의 약자인 FI라는 이름을 사용했습니다. 새 구현에는 오늘날 우리가 알고 있는 PHP의 기본적 기능이 포함되어 있었습니다.

PHP Tools – PHP의 탄생

Rasmus는 PHP Tools를 공개적으로 출시하였습니다.

1995

Rasmus Lerdorf, PHP 개발 시작

최초의 PHP 구현은 (Perl이 아닌) C 프로그래밍 언어로 작성된 CGI(일반 게이트웨이 인터페이스) 2진의 단순 모음에 불과했습니다. 처음에는 Rasmus Lerdorf의 온라인 이력서 방문 기록을 추적하는 데 사용되었으며, Rasmus는 해당 스크립트 도구 모음을 "Personal Home Page Tools(개인용 홈페이지 도구)"라 명명하였습니다. 더욱 널리 사용된 명칭은 "PHP Tools"였지만요.

타임라인 데이터는 오픈소스이며 GitHub에서 확인할 수 있습니다. 문제를 발견하셨다면 자유롭게 풀 리퀘스트를 생성해 주세요.

타임라인 제작에 도움을 주신 분들께

감사드립니다!

팔로우하기