# PHPκ°μ
# π λͺ©μ°¨
- PHPκ°μ
# PHP(PHP: Hypertext Preprocessor)
Personal Home Page Tools β
PHP:Hypertext Preprocessor
μλ―Έ λ³ν
- Hypertextλ λ¬Έμμ λ¬Έμκ°
λ§ν¬
λ‘ μ°κ²° (λ§λλ μΈμ΄ :HTML
) - CμΈμ΄λ₯Ό κΈ°λ°μΌλ‘ μμ±λ¨
PHPλ μλ²
μΈ‘μμ μ€νλλ νλ‘κ·Έλλ° μΈμ΄
- μ£Όλ‘ HTML μ½λλ₯Ό νλ‘κ·Έλλ°μ μΌλ‘ μμ±(λμ μΌλ‘ λΉ λ₯΄κ² HTML λ¬Έμ μμ±κ°λ₯)
- λ°μ΄ν°λ² μ΄μ€μ μνΈμμ© & λ°μ΄ν° μ μ₯ & νν
- μΉ νλ‘κ·Έλλ°μ μν λμ μμ°μ±μ μ 곡νλ μΈμ΄
μ μ© μ¬λ‘
- μλ²λ₯Ό μ§μ μ€μΉν΄μ μ΄μν μ μλ μ€μΉν μΉ μν리μΌμ΄μ
- ex) μ λ‘보λ, ν μ€νΈνλΈ, μλνλμ€, PHPBB λ±
# βοΈ PHPμ κ°μ μλ² μ¬μ΄λ μΈμ΄μ νμμ±
- μ²μ μΉ λμμ Clientκ° μμ²νλ©΄ Server(PC)μ μ μ₯λ μ μ μΈ file(HTML)μ Client(μΉ λΈλΌμ°μ )μ 보μ¬μ£Όλ λ°©μ(μλ κ·Έλ¦Ό)
- μΈν°λ·μ΄ νμ₯ λ¨μ λ°λΌ μ μ μΈ fileννμ HTMLμ νκ³κ° μλ€κ³ νλ¨
- μλ‘μ΄ μλ² λͺ¨λΈμ΄ νμν¨
- μμ°μ±μ΄ λμ
PHP
μΈμ΄ κ³ μ - μλ²μμ μ²λ¦¬ν΄μ£ΌκΈ° μν΄
CGI
(Common Gateway Interface)λ₯Ό λμ - CGI ν΅μ κ·μ½μ ν΅ν΄ μλ²λ μμ²λ°μ PHPλ₯Ό
PHP engine
μΌλ‘ μ²λ¦¬ν μ μλλ‘ μ€κ³ - μΉλΈλΌμ°μ κ° μλ΅μ λ°μ λλ HTMLλ‘ λ°κΈ° λλ¬Έμ PHPμ μ‘΄μ¬λ μ μ μκ³ νμλ μμ
# βοΈ λ¨μ μ?
- 볡μ‘ν μ¬μ΄νΈλ₯Ό λ§λλ μμ μλ ν¨μ¨μ μ΄μ§ λͺ»ν¨
- 보μμ μμ νμ§ μμ μΈμ΄ ꡬ쑰
보μμμ μ·¨μ½μ±μΌλ‘ μΈν΄ JSP
λ ASP.NET
μΌλ‘ λ체λλ κ²½ν₯μ΄ μμ
(β² μΉ νλ‘κ·Έλλ° μΈμ΄ λΉκ΅ / μΆμ² : http://tcpschool.com/php/php_intro_works)
μΈμ΄λ³λ‘ μ₯λ¨μ μ΄ μμΌλ μ¬μ© λͺ©μ μ΄λ μν©μ λ°λΌ μλ§μ μΈμ΄λ₯Ό κ³ λ₯΄λ κ²μ΄ λ°λμ§ν¨!
# βοΈ PHP λμ μ리
PHPλ μΉ μμ€ν μΈ ν΄λΌμ΄μΈνΈ / μλ² νκ²½μμ λμνλ μλ² μ¬μ΄λ μ€ν¬λ¦½νΈ μΈμ΄
(β² PHP λμ μ리 / μΆμ² : http://tcpschool.com/php/php_intro_works)
β : ν΄λΌμ΄μΈνΈκ° μΉ λΈλΌμ°μ λ₯Ό ν΅ν΄ μΉ μλ²μ μνλ μΉ νμ΄μ§λ₯Ό μμ²
β‘ : μΉ μλ²λ ν΄λΌμ΄μΈνΈκ° μμ²ν μΉ νμ΄μ§μ λ‘μ§ λ° λ°μ΄ν°λ² μ΄μ€μμ μ°λμ μν΄ PHP νμ(parser)μ μ΄μ λν μ²λ¦¬λ₯Ό μμ²
β’ : μ΄λ PHP νμλ λ°μ΄ν°λ² μ΄μ€μμ μ°λμ΄ νμνλ©΄ λ°μ΄ν°λ² μ΄μ€μ λ°μ΄ν°μ μ²λ¦¬λ₯Ό μν
β£ : PHP νμλ μΉ νμ΄μ§μ λ‘μ§ λ° λ°μ΄ν°λ² μ΄μ€μμ μμ μ²λ¦¬ κ²°κ³Όλ₯Ό μΉ μλ²λ‘ μ λ¬
β€ : μΉ μλ²λ μ λ¬λ°μ λ°μ΄ν°λ‘ μΉ νμ΄μ§λ₯Ό μμ±νμ¬ μΉ λΈλΌμ°μ λ‘ μλ΅μ μ μ‘
# μΉ μμ€ν (Web System)
μλ―Έ : μ°λ¦¬κ° λ§€μΌ μ¬μ©νκ³ μλ μΈν°λ·μ ꡬμ±νλ μμ€ν
μ΄λ¬ν μΉ μμ€ν μ λ€μ κ·Έλ¦Όκ³Ό κ°μ΄ ν΄λΌμ΄μΈνΈ(client)μ μλ²(server)λ‘ κ΅¬μ±
(β² μΉ ν΄λΌμ΄μΈνΈμ μλ² κ΅¬μ± / μΆμ² : https://cupjoo.tistory.com/54)
μλ²(server) : κ°λ¨ν λ§ν΄ μΉ μλΉμ€λ₯Ό μ 곡νλ μ»΄ν¨ν°λ₯Ό μλ―Έ
ν΄λΌμ΄μΈνΈ(client) : μλ²κ° μ 곡νλ μΉ μλΉμ€λ₯Ό μ΄μ©νλ μ¬μ©μ λλ μ¬μ©μμ κΈ°κΈ°(λΈλΌμ°μ )λ₯Ό μλ―Έ
# ν΄λΌμ΄μΈνΈ μ¬μ΄λμ μλ² μ¬μ΄λ
μΉ μμ€ν
μμμ μ²λ¦¬λ ν΄λΌμ΄μΈνΈ
μ μλ²
μ€ μ΄λ μͺ½μμ μνλλ μμ
μΈκ°μ λ°λΌ λ€μκ³Ό κ°μ΄ ꡬλΆν μ μλ€.
ν΄λΌμ΄μΈνΈ μ¬μ΄λ(client-side)
μλ² μ¬μ΄λ(server-side)
# βοΈ ν΄λΌμ΄μΈνΈ μ¬μ΄λ(client-side)
ν΄λΌμ΄μΈνΈ μΈ‘μμ μννλ μ²λ¦¬λ₯Ό μλ―Έ
- μΉ μμ€ν μμ λΈλΌμ°μ λ μλ²μμ μμ ν HTML λ¬Έμλ₯Ό ν΄μνμ¬ μ¬λ¬λΆμ νλ©΄μ νμν¨
- μ¬μ©λλ μΈμ΄ :
μλ°μ€ν¬λ¦½νΈ(JavaScript)
# βοΈ μλ² μ¬μ΄λ(server-side)
μλ² μΈ‘μμ μννλ μ²λ¦¬λ₯Ό μλ―Έ
HTML λ¬Έμ + μλ² μ¬μ΄λ μ€ν¬λ¦½νΈ μΈμ΄μ μ½λ
λ₯Ό λΈλΌμ°μ μμ μμ²- μλ²μμ μ²λ¦¬ν ν κ·Έ κ²°κ³Όλ₯Ό λΈλΌμ°μ μ μ μ‘
- μ¬μ©λλ μΈμ΄ :
PHP
μ΄μ²λΌ μλ²μ 미리 μ μ₯λ νμΌμ΄ μλ μλ²μ μλ λ°μ΄ν°λ€μ μλ² μ¬μ΄λ μ€ν¬λ¦½νΈ μΈμ΄λ‘ κ°κ³΅νμ¬ μμ±λλ νμ΄μ§λ₯Ό λμ μΉ νμ΄μ§(dynamic web page)λΌκ³ νλ€.
# μ μ νμ΄μ§ VS. λμ νμ΄μ§
μ°¨μ΄μ : νμ΄μ§λ₯Ό μμ²ν μ¬μ©μμ μ 보μ νμ¬ μμ μ λ°λΌ λ΄μ©μ΄ λ³ν μ μλ€/μλ€.
βοΈ μ μ νμ΄μ§
- μλ²μ 미리 μ μ₯λμ΄ μμ
- μ£Όλ‘ HTML, CSS, Javascript, μ΄λ―Έμ§λ‘ ꡬμ±
- μ¬μ©μκ° pageλ₯Ό μμ²νλ©΄ μλ²λ ν΄λΉ μ μ νμ΄μ§λ₯Ό λ°νν΄μ£Όλ μν λ§ μν
βοΈ λμ νμ΄μ§
- μ¬μ©μκ° pageλ₯Ό μμ²νλ©΄ DataBaseλ‘λΆν° μ»μ ν΄λΉ μ¬μ©μμ μ 보λ νμ¬ μμ μ 보 λ±μ κ°κ³΅ν΄ μλ‘κ² μμ±ν pageλ₯Ό λ°ν
- λμΌν μμ²μ΄λΌλ λκ°/μΈμ μμ²νλμ§μ λ°λΌ λ΄μ©μ΄ λ¬λΌμ§
- λλΆλΆμ μΉ νμ΄μ§κ° λμ νμ΄μ§μ ν΄λΉ
# CGI κ°λ
μμμ μ€λͺ
ν λμ νμ΄μ§λ₯Ό μ¬μ©μμκ² μ 곡νκΈ° μν΄ μΉ μλ² λ΄μ νλ‘κ·Έλλ° κΈ°λ₯μ΄ λ€μ΄κ°λ λ°©μμ CGI
λΌκ³ νλ€.
(β² CGI λ°©μμ μΉ κ΅¬μ± / μΆμ² : https://cupjoo.tistory.com/54)
νμ§λ§ CGI λ°©μμ κ²½μ° μΉ μλ²μμ κ°κ°μ ν΄λΌμ΄μΈνΈ μμ²μ λν΄ λ 립μ μΈ λ³λμ νλ‘μΈμ€λ₯Ό μμ±ν΄ μμ²μ μ²λ¦¬νλ―λ‘, μμ€ν μ λΆνκ° μ»€μ Έ λ¬Έμ κ° λ°μνκ² λλ€.
# μΉ μ ν리μΌμ΄μ μλ²(WAS)
CGI λ°©μμ λ¬Έμ μ μ ν΄κ²°νκΈ° μν΄ μ€κ³
μΉ μ΄ν리μΌμ΄μ μλ²(WAS)
λ μΉ μλ²μ DB μλ² μ¬μ΄μμ λ―Έλ€μ¨μ΄- DB μ°λ λ° λμ νμ΄μ§λ₯Ό μμ±νκΈ° μν μ²λ¦¬λ₯Ό νλ€.
(β² μΉ μ ν리μΌμ΄μ
μλ²(WAS) / μΆμ² : https://cupjoo.tistory.com/54)