🐘 PHP : κ°„λ‹¨ν•˜κ²Œ μ•Œμ•„λ³΄λŠ” PHP의 역사

2023-01-27

PHP Logo

PHPλŠ” 1994λ…„λΆ€ν„° κΎΈμ€€νžˆ κ°œλ°œλ˜μ–΄ ν˜„μž¬κΉŒμ§€λ„ μ—…λ°μ΄νŠΈ 되고 μžˆλŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μž…λ‹ˆλ‹€. κΈ΄ 역사λ₯Ό 가지고 있고, 2023년인 μ•„μ§κΉŒμ§€λ„ μ›Ήμ„œλ²„ μ–Έμ–΄ 점유율 70% 이상을 μœ μ§€ν•˜κ³  μžˆλŠ” PHP에 λŒ€ν•΄ μžμ„Έμ΄ μ•Œμ•„λ³΄κΈ° μœ„ν•΄! PHP의 역사λ₯Ό λ²„μ „λ³„λ‘œ κ°„λž΅νžˆ μ •λ¦¬ν•΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€.


πŸ“œ PHP의 역사

PHPλŠ” μ΄ˆκΈ°λΆ€ν„° μˆ˜λ§Žμ€ κ°œλ°œμžλ“€μ˜ κΈ°μ—¬λ₯Ό λ°›μœΌλ©° μ„±μž₯ν–ˆκ³ , ν˜„μž¬κΉŒμ§€λ„ κΎΈμ€€νžˆ 개발 쀑인 μ–Έμ–΄μž…λ‹ˆλ‹€. ν¬μŠ€νŠΈκ°€ μž‘μ„±λœ ν˜„μž¬ 8.2 λ²„μ „κΉŒμ§€ μΆœμ‹œλœ μƒνƒœμž…λ‹ˆλ‹€.

PHP의 μ—­μ‚¬λŠ” 크게 라슀무슀 λŸ¬λ„ν”„(Rasmus Lerdorf)κ°€ λ°°ν¬ν•œ PHP 1.0와 PHP 2.0, 그리고 μ•€λ”” κ°€νŠΈλ§Œμ¦ˆ(Andi Gutmans)와 제이브 μŠ€λΌμŠ€ν‚€(Zeev Suraski)κ°€ λ°°ν¬ν•œ PHP3.0, λ§ˆμ§€λ§‰μœΌλ‘œ λͺ¨λ˜ PHP라고 λΆˆλ¦¬λŠ” PHP 7.0 이후 λ²„μ „μœΌλ‘œ κ΅¬λΆ„λ©λ‹ˆλ‹€. PHP 각 λ²„μ „μ˜ μ£Όμš” λ‚΄μš©μ„ 더 μžμ„Ένžˆ μ‚΄νŽ΄λ³΄λ©° PHP의 역사에 λŒ€ν•΄ μ•Œμ•„λ΄…μ‹œλ‹€.


PHP 1.0 PHP Tools (1995λ…„ 6μ›” 8일)

라슀무슀 λŸ¬λ„ν”„λŠ” 1994λ…„ 개인 μ›ΉνŽ˜μ΄μ§€ 개발(이λ ₯μ„œ λ°©λ¬Έ 좔적)을 μœ„ν•΄ Perl μ–Έμ–΄λ‘œ μž‘μ„±λœ CGI(Common Gateway Interface) λ„κ΅¬λ‘œλΆ€ν„° μ‹œμž‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν•„μš”ν•œ κΈ°λŠ₯을 κ·Έλ•Œκ·Έλ•Œ λ§Œλ“€μ–΄ μ‚¬μš©ν•˜λ˜ 쀑 μ›Ήμ„œλ²„μ˜ κ³ΌλΆ€ν•˜μ™€ 개발의 λ³΅μž‘μ„±μ„ ν•΄κ²°ν•˜κΈ° μœ„ν•΄ Cμ–Έμ–΄λ‘œ Perl 래퍼λ₯Ό λ§Œλ“€μ—ˆκ³ , 이것을 μ•Œκ²Œ 된 같은 μ›Ήμ„œλ²„μ˜ μ‚¬λžŒλ“€μ΄ μ‚¬μš©ν•  수 μžˆλŠ”μ§€ 물어보며 μ°Ύμ•„μ™”μŠ΅λ‹ˆλ‹€. κ·Έ ν›„, 이 λž˜νΌμ— μ§€μ†μ μœΌλ‘œ κΈ°λŠ₯을 μΆ”κ°€ν•˜κ³  점차 κ°œμ„ ν•΄, λ§ˆμΉ¨λ‚΄ Personal Home Page Tools라 λͺ…λͺ…ν•œ λ°°ν¬νŒμ„ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. μ΅œμ’…μ μœΌλ‘œ 1995λ…„ PHP Tools의 μ†ŒμŠ€λ₯Ό κ³΅κ°œν•΄ 졜초의 PHPκ°€ 릴리즈 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

ꡬ체적으둜 μ„€κ³„λ˜μ§€ μ•Šκ³  반볡적인 κ°œμ„ μœΌλ‘œ λ§Œλ“€μ–΄μ§„ PHPλŠ” 이둜 인해 ν•¨μˆ˜μ˜ μ΄λ¦„μ΄λ‚˜ λ§€κ°œλ³€μˆ˜μ˜ μˆœμ„œκ°€ μΌκ΄€λ˜μ§€ μ•Šμ€ 문제λ₯Ό κ°–κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, 이 λ²„μ „μ˜ PHPλŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄κ°€ μ•„λ‹Œ λ™μ μœΌλ‘œ μƒμ„±λ˜λŠ” μ›Ή νŽ˜μ΄μ§€λ₯Ό μ†μ‰½κ²Œ μž‘μ„±ν•˜κΈ° μœ„ν•΄ 개발된 도ꡬ에 λΆˆκ³Όν–ˆμŠ΅λ‹ˆλ‹€. λΌμŠ€λ¬΄μŠ€λŠ” νšŒκ³ λ‘μ—μ„œ 이에 λŒ€ν•΄ β€œμ €λŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό μž‘μ„±ν•  μ˜λ„κ°€ μ „ν˜€ μ—†μ—ˆμ§€λ§Œ, 이것을 λ©ˆμΆ”λŠ” 방법을 λͺ°λžμŠ΅λ‹ˆλ‹€. […] μ €λŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό μž‘μ„±ν•˜λŠ” 방법을 μ „ν˜€ λͺ¨λ¦…λ‹ˆλ‹€. μ €λŠ” κ·Έμ € κ³„μ†ν•΄μ„œ λ‹€μŒ 논리적 단계λ₯Ό μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.” 라고 λ§ν–ˆμŠ΅λ‹ˆλ‹€.

  • 회고둝 원문 : β€œI don’t know how to stop it, there was never any intent to write a programming language […] I have absolutely no idea how to write a programming language, I just kept adding the next logical step on the way.”

  • μž‘μ„± 예제

    <!--getenv HTTP_USER_AGENT-->
    <!--ifsubstr $exec_result Mozilla-->
    Hey, you are using Netscape!<p>
    <!--endif-->
    
    <!--sql database select * from table where user='$username'-->
    
    <!--ifless $numentries 1-->
    Sorry, that record does not exist<p>
    <!--endif exit-->
    
    Welcome <!--$user-->!<p>
    You have <!--$index:0--> credits left in your account.<p>
    
    <!--include /text/footer.html-->

PHP 2.0 PHP/FI (1997λ…„ 11μ›” 1일)

λΌμŠ€λ¬΄μŠ€λŠ” PHP Toolsλ₯Ό 배포함과 λ™μ‹œμ— λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‰½κ²Œ μ‚¬μš©ν•  방법을 μ°Ύκ³  μžˆμ—ˆκ³ , SQL 쿼리λ₯Ό ꡬ문 λΆ„μ„ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό 톡해 양식과 ν…Œμ΄λΈ”μ„ μ‰½κ²Œ λ§Œλ“€ 수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ” μƒˆλ‘œμš΄ CGI 도ꡬλ₯Ό λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. Form Interpreter라 λͺ…λͺ…λœ 이 λ„κ΅¬λŠ” 이후 PHP와 ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨μœΌλ‘œ κ²°ν•©λ˜μ–΄ Personal Home Page Construction Kit/Form InterpreterλΌλŠ” μ΄λ¦„μœΌλ‘œ μ™„μ „νžˆ μž¬μž‘μ„± λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

이 버전뢀터 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ λ°œμ „ν•œ PHP/FIλŠ” κ°„λ‹¨ν•œ 슀크립트λ₯Ό 직접 HTML νŒŒμΌμ— λ°°μΉ˜ν•  수 μžˆμ–΄, C와 Perl μ–Έμ–΄λ‘œ CGIλ₯Ό μ‚¬μš©ν•΄ λ³΅μž‘ν•˜κ²Œ μ›ΉνŽ˜μ΄μ§€λ₯Ό μž‘μ„±ν•˜λ˜ κΈ°μ‘΄ 방식에 λΉ„ν•΄ 맀우 μ‰¬μš΄ νŽΈμ΄μ˜€μŠ΅λ‹ˆλ‹€. λ˜ν•œ, μˆ˜λ§Žμ€ CGI 도ꡬλ₯Ό μ‚¬μš©ν•  λ•Œμ™€ 달리 μ˜€λ²„ν—€λ“œκ°€ 많이 μ œκ±°λ˜μ–΄ μ›ΉνŽ˜μ΄μ§€μ˜ μ„±λŠ₯이 κ°œμ„ λ˜μ—ˆκ³ , κΈ°μ‘΄ κ°œλ°œμžκ°€ μ‰½κ²Œ 배울 수 μžˆλ„λ‘ μ˜λ„μ μœΌλ‘œ C와 Perl의 ꡬ쑰와 μœ μ‚¬ν•˜κ²Œ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  • λ³€μˆ˜λͺ…이 $둜 μ‹œμž‘ν•˜λŠ” 것과 λͺ¨λ“  λ°°μ—΄(array)이 μ—°κ΄€ λ°°μ—΄(map)둜 μž‘λ™ν•œλ‹€λŠ” 점, λ¬Έμžμ—΄ 결합을 +κ°€ μ•„λ‹Œ .둜 ν•œλ‹€λŠ” 점 등이 Perl의 영ν–₯을 받은 λŒ€ν‘œμ μΈ λ¬Έλ²•μž…λ‹ˆλ‹€.

PHP 3.0 PHP (1998λ…„ 6μ›” 6일)

μ•€λ”” κ°€νŠΈλ§Œμ¦ˆμ™€ 제이브 μŠ€λΌμŠ€ν‚€λŠ” PHP/FI의 λΆ€μ‘±ν•œ κΈ°λŠ₯을 μ±„μš°κ³ , 엔진을 κ°œμ„ ν•˜κΈ° μœ„ν•΄ λΌμŠ€λ¬΄μŠ€μ™€ νž˜μ„ 합쳐 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ κ°œλ°œμ— ν˜‘λ ₯ν–ˆμŠ΅λ‹ˆλ‹€. 이 μƒˆλ‘œμš΄ μ–Έμ–΄λŠ” PHPλΌλŠ” μ•½μ–΄λ₯Ό κ·ΈλŒ€λ‘œ μ‚¬μš©ν•˜λ˜, 개인 μ‚¬μš©μ˜ 의미λ₯Ό μ œκ±°ν•œ PHP:Hypertext Preprocessor의 μž¬κ·€μ  μ•½μ–΄λ‘œ 이름을 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€.

PHP 3.0에 이λ₯΄λŸ¬ 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ˜ 지원과 κ°•λ ₯ν•˜κ³  μΌκ΄€ν™”λœ μ–Έμ–΄ ꡬ문으둜 λ”μš± κ°œμ„ λ˜μ—ˆκ³ , 이에 더해 κ°•λ ₯ν•œ ν™•μž₯μ„±μœΌλ‘œ μˆ˜λ§Žμ€ λͺ¨λ“ˆ κ°œλ°œμžλ“€μ˜ μœ μž…μ„ λΆˆλŸ¬μ™”μŠ΅λ‹ˆλ‹€. 이 버전뢀터 μš°λ¦¬κ°€ μ•„λŠ” PHP와 μœ μ‚¬ν•œ λͺ¨μŠ΅μ„ κ°–μΆ”κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.


PHP 4.0 PHP (2000λ…„ 5μ›” 22일)

PHP 3.0이 κ³΅μ‹μ μœΌλ‘œ μΆœμ‹œλœ 직후 λ³΅μž‘ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ„±λŠ₯을 κ°œμ„ ν•˜κ³  PHP μ½”λ“œ 베이슀의 λͺ¨λ“ˆμ„±μ„ κ°œμ„ ν•˜κΈ° μœ„ν•΄ PHP μ½”μ–΄ μž¬μž‘μ„± μž‘μ—…μ΄ μ‹œμž‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ•€λ”” κ°€νŠΈλ§Œμ¦ˆμ™€ 제이브 μŠ€λΌμŠ€ν‚€λŠ” λ³ΈμΈλ“€μ˜ 이름 Zeev 와 Andi λ‘œλΆ€ν„° λ”°μ˜¨ Zend Engineμ΄λΌλŠ” μ΄λ¦„μ˜ μƒˆλ‘œμš΄ 엔진을 λ§Œλ“€μ–΄ λƒˆκ³ , μ„±λŠ₯κ³Ό ν™•μž₯성을 크게 κ°œμ„ ν•΄ λƒˆμŠ΅λ‹ˆλ‹€.

더 λ§Žμ€ μ›Ή μ„œλ²„, HTTP μ„Έμ…˜, 좜λ ₯ 버퍼링, μ‚¬μš©μž μž…λ ₯을 μ²˜λ¦¬ν•˜λŠ” 보닀 μ•ˆμ „ν•œ 방법 및 λͺ‡ 가지 μƒˆλ‘œμš΄ μ–Έμ–΄ ꡬ쑰에 λŒ€ν•œ 지원과 같은 기타 μ£Όμš” κΈ°λŠ₯이 ν¬ν•¨λœ 4.0 버전은 κΎΈμ€€νžˆ μ—…λ°μ΄νŠΈλ˜μ–΄, CLI(Command Line Interface) 지원, SuperGlobalλ³€μˆ˜ 지원 λ“± κΎΈμ€€ν•œ μ—…λ°μ΄νŠΈλ‘œ 2008λ…„ 8μ›”κΉŒμ§€ μœ μ§€λ³΄μˆ˜ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.


PHP 5.0 PHP (2004λ…„ 7μ›” 13일)

μƒˆλ‘œ μΆœμ‹œλœ Zend Engine 2.0으둜 κ΅¬λ™λ˜λŠ” PHP 5λŠ” 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°μ— λŒ€ν•œ 더 λ§Žμ€ 지원과 μˆ˜λ§Žμ€ κΈ°λŠ₯의 좔가와 μ„±λŠ₯ κ°œμ„ , 그리고 λ³΄μ•ˆ κ°•ν™”κ°€ μ΄λ£¨μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€.

  • μ£Όμš” 사항: λ„€μž„μŠ€νŽ˜μ΄μŠ€(Namespace), μ½”λ“œ 쑰각(trait), μ‚Όν•­ μ—°μ‚°μž(?:), μ œλ„€λ ˆμ΄ν„°(Generators), ν΄λ‘œμ €(Native closures), 단좕 λ°°μ—΄ ꡬ문([]), μƒμˆ˜(const), κ°€λ³€ 길이 인수, PDO(PHP Data Object), JSON ν•¨μˆ˜, λ‚΄μž₯ 개발 μ„œλ²„, 가비지 μ»¬λ ‰μ…˜(Garbage Collection), Phar(php 묢음파일), SQLite3, …

후속 버전인 PHP6의 개발이 2005λ…„λΆ€ν„° μ‹œμž‘λ˜μ–΄ μœ λ‹ˆμ½”λ“œλ₯Ό 기반으둜 μž‘λ™ν•˜λ„λ‘ μ„€κ³„ν•˜μ˜€λŠ”λ°, μ΄λ•Œ UTF-16λ₯Ό μ°¨κΈ° μœ λ‹ˆμ½”λ“œ μΈμ½”λ”©μœΌλ‘œ 채택해 κ°œλ°œν•˜λŠ” 사이, μ›Ήμ˜ ν‘œμ€€ μœ λ‹ˆμ½”λ“œ 인코딩 방식이 UTF-8둜 κ΅³ν˜€μ§€λ©΄μ„œ κ°œλ°œμžλ“€μ˜ μ°Έμ—¬κ°€ μ €μ‘°ν•΄μ‘ŒκΈ° λ•Œλ¬Έμ— 개발이 μ§€μ²΄λ˜λ‹€ κ²°κ΅­ 2010λ…„ μ·¨μ†Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

이후 2015λ…„κΉŒμ§€ 10λ…„ λ™μ•ˆ PHP5 버전에 머무λ₯΄κ²Œ λ˜λ©΄μ„œ PHP6에 μΆ”κ°€ν•˜κΈ° μœ„ν•΄ λ…Όμ˜λ˜μ—ˆλ˜ λ§Žμ€ κΈ°λŠ₯이 PHP5 버전에 ν†΅ν•©λ˜μ—ˆμ§€λ§Œ, 10λ…„μ΄λΌλŠ” κΈ°κ°„ λ™μ•ˆ 큰 κ°œμ„ μ΄ μ—†λ˜ 엔진에 μ˜ν•΄ λ‹€λ₯Έ 언어에 λΉ„ν•΄ μ„±λŠ₯ λΆ€λΆ„μ—μ„œ 크게 λ°€λ €λ‚˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

PHP 5.4λΆ€ν„° λ‹€μ‹œ UTF8을 κΈ°λ³Έ μΈμ½”λ”©μœΌλ‘œ 채택해 λ‹€μ‹œ μ‚¬μš©μžλ“€μ„ μœ μ§€ν•˜λ©° 2014λ…„ 8μ›” 28일 PHP 5.6κΉŒμ§€ μΆœμ‹œν–ˆμŠ΅λ‹ˆλ‹€.


PHP 7.0 PHP (2015λ…„ 12μ›” 3일)

PHP6으둜 μΆœμ‹œ μ˜ˆμ •μ΄μ—ˆλ˜ μ°¨κΈ° 버전이 μ§€μ²΄λ˜μ–΄ 10년이 μ§€λ‚œ 탓에 λ‹€μŒ λ²„μ „μ˜ 이름을 μ–΄λ–»κ²Œ 정할지에 λŒ€ν•œ λ…Όμ˜κ°€ ν™œλ°œνžˆ μΌμ–΄λ‚¬μ—ˆμŠ΅λ‹ˆλ‹€. κ·Έ κ²°κ³Ό PHP6μ΄λΌλŠ” 이름은 10λ…„μ˜ κΈ°κ°„ λ™μ•ˆ PHP 5.x에 ν†΅ν•©λœ μˆ˜λ§Žμ€ κΈ°λŠ₯의 λŒ€μƒμ΄ λ˜λŠ” λ²„μ „μœΌλ‘œ 뢈렀 왔기에 ν•˜λ‚˜μ˜ μœ μ‚¬ λ²„μ „μ΄λ‚˜ 닀름없고, 특히 μ‹€νŒ¨ν•œ λ²„μ „μ΄λΌλŠ” 이미지가 λ„ˆλ¬΄ κ°•ν•˜λ‹€λŠ” μ£Όμž₯이 νž˜μ„ μ–»μ–΄ κ²°κ΅­ νˆ¬ν‘œ κ²°κ³Ό PHP7이 μƒˆλ‘œμš΄ 릴리즈의 μ΄λ¦„μœΌλ‘œ μ±„νƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  • 그리고 사싀 이미 λ§Žμ€ ν”„λ‘œμ νŠΈκ°€ 메이저 버전을 κ±΄λ„ˆλ›°μ—ˆκΈ° λ•Œλ¬Έμ— 크게 상관이 μ—†μ–΄ 보이기도 ν–ˆμŠ΅λ‹ˆλ‹€.

PHP7의 κΈ°λ°˜μ€ β€œμ°¨μ„ΈλŒ€ PHP” phpng 라고 뢈렸던 PHP λΈŒλžœμΉ˜μž…λ‹ˆλ‹€. Dmitry Stogov, Xinchen Hui, Nikita Popovκ°€ μ°Έμ—¬ν•œ 이 브랜치의 λͺ©μ μ€ μ™„μ „ν•œ μ–Έμ–΄ ν˜Έν™˜μ„±μ„ μœ μ§€ν•˜λ©΄μ„œ PHP의 μ„±λŠ₯을 μ΅œμ ν™”ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄ Zend 엔진을 λ¦¬νŒ©ν† λ§ν•΄ μ„±λŠ₯은 PHP5.6 λŒ€λΉ„ 2λ°° ν–₯μƒλ˜κ³ , λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰μ€ 80% κ°μ†Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  • μ£Όμš” 사항 :
    • ν•¨μˆ˜μ˜ μΈμˆ˜μ™€ λ°˜ν™˜ νƒ€μž…, 클래슀의 ν”„λ‘œνΌν‹° νƒ€μž… λͺ…μ‹œ 지원
    • 치λͺ…적인 문제λ₯Ό μΌμœΌν‚¬ 수 μžˆμ—ˆλ˜ λ‹€μ–‘ν•œ 였λ₯˜ λ§€μ»€λ‹ˆμ¦˜μ„ try-catchκ°€ κ°€λŠ₯ν•œ μ˜ˆμ™Έ(Exception)으둜 λŒ€μ²΄
    • ν™”μ‚΄ν‘œ ν•¨μˆ˜(λžŒλ‹€μ‹), 널 병합 μ—°μ‚°μž(??), μš°μ£Όμ„  μ—°μ‚°μž(<=>), λ¬Έμžμ—΄ 음수 μ˜€ν”„μ…‹, 읡λͺ… 클래슀, λ„€μž„μŠ€νŽ˜μ΄μŠ€ κ·Έλ£Ήν™” λ“± λ‹€μ–‘ν•œ 문법 μΆ”κ°€

PHP 8.0 PHP (2020λ…„ 11μ›” 26일)

PHP7λΆ€ν„° μ€€λΉ„ν•΄ 온 JIT(Just-In-Time) μ»΄νŒŒμΌλŸ¬κ°€ λ„μž…λ˜μ–΄ λ‹€μ‹œ μ„±λŠ₯이 2λ°° μƒμŠΉλ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, 읽기 μ „μš© μ ‘κ·Όμž(readonly), μ—΄κ±°ν˜•(Enum) 지원, matchν‘œν˜„μ‹, 널 세이프 μ—°μ‚°μž (?->), Attributes (Java의 Anotation) λ“± λ‹€μ–‘ν•œ κΈ°λŠ₯이 μΆ”κ°€λ˜μ—ˆκ³ , PHP7에 이어 더 λ‹€μ–‘ν•œ 였λ₯˜κ°€ μ˜ˆμ™Έλ‘œ λ³€κ²½λ˜μ—ˆκ³ , assert와 같은 μ˜ˆμ™Έ μ²˜λ¦¬μ™€ κ΄€λ ¨λœ μš”μ†Œλ“€μ΄ κ°œμ„ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.


PHP 7.x와 8.x의 변경점은 μΆ”ν›„ 각 λ§ˆμ΄λ„ˆ 버전 λ³„λ‘œ μ„Έμ„Έν•˜κ²Œ μ•ˆλ‚΄ν•˜λŠ” 포슀트λ₯Ό μž‘μ„±ν•  μ˜ˆμ •μ΄κΈ° λ•Œλ¬Έμ— μ΄μ •λ„λ‘œλ§Œ μ •λ¦¬ν•˜κ³  마무리 ν•˜λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

μž‘μ„±μ€‘β€¦

πŸ“Œ μ°Έκ³  λ¬Έν—Œ