SMS처리 도우미
E-mail
  ldwin@naver.com
제목
  PHP란 대체 뭐지? (From. 소스놀이터)


1. PHP가 뭐지?

 

PHP는 'Hypertext Preprocessor'의 약자로, Rasmus Lerdorf가 1994년에 개발한 서버 측 스크립팅 언어입니다.
원래 'Personal Home Page Tools'로 불렸던 이 언어는 웹 개발을 쉽게 하기 위해 만들어졌습니다.
따라서, 웹사이트 및 웹 애플리케이션 개발에 사용되는 인기있는 언어입니다.

PHP는 HTML 코드 내에 삽입되어 서버에서 실행됩니다.
따라서, 이 언어는 HTML과 결합하여 동적 웹 페이지를 생성할 수 있으며, 데이터베이스와의 상호 작용이 가능합니다.

아울러 세션 관리, 쿠키 처리가 가능해 웹사이트 로그인 처리가 가능합니다.
이외에도, 파일 업로드, 메일 발송 등 웹 애플리케이션(웹사이트) 개발에 필요한 다양한 기능을 제공합니다.

PHP는 그 사용의 유연성과 플랫폼 호환성으로 인해 널리 사용되며, 워드프레스, 코드이그나이터, 드루팔 등 인기 있는 콘텐츠 관리 시스템(CMS)의 기반이 되는 언어이기도 합니다.
 

 

2. PHP는 어떤 종류의 프로그래밍 언어이지?

 

PHP는 주로 서버 측 웹 개발에 사용되는 서버 측 스크립트 언어입니다.
그리고 PHP는 스크립트 언어로서 프로그램의 지시 사항을 한 줄씩 순차적으로 해석하고 실행합니다.
이러한 특성은 개발 속도를 높이고 유지 보수를 용이하게 합니다.
또 이 언어는 웹 서버에서 실행되어 동적 웹 페이지(HTML 코드 내에 삽입 가능)나
애플리케이션을 생성하는 데 사용됩니다.
그리고 PHP는 스크립트 언어의 특성상, 프로그램 코드가 서버에서 실행되며
클라이언트 측의 웹 브라우저에 결과를 전송합니다.
한편 PHP는 오픈 소스이며, 많은 운영 체제와 호환되어 유연하게 사용할 수 있습니다.

 


3. PHP는 어떤 목적으로 사용하지?

 

PHP는 단순 웹페이지에 복잡한 기능을 탑재시킬 수 있습니다.
예를 들어, 데이터베이스와의 상호 작용이 가능하게 하여
대용량의 데이터를 검색, 저장, 수정 및 삭제할 수 있습니다.
이런 기능은 웹페이지에 고기능을 담아 웹 애플리케이션 개발이 가능하게 해 줍니다.

아울러 단순 정보 전달의 웹페이지에서 벗어나 로그인과 같은 사용자 인증이 가능하게 해 줍니다.
사용자 인증 기능은 쿠키 및 세션을 통해 가능하며 PHP는 쿠키 및 세션 관리를 위한 통합적인 기능을 제공합니다.

그리고 PHP는 HTML에서 제공하는 폼 데이터를 처리할 수 있기에,
HTML의 FILE 객체로 전달된 파일을 서버에 저장할 수 있습니다.

파일 저장 기능이 있다는 말은, 웹 하드, 동영상 처리, 이미지 저장 등의 여러 기능을 웹페이지에 탑재할 수 있다는 뜻이죠.
이런 PHP의 특징을 고려하면 PHP는 복작합 기능의 웹사이트 및 웹 애플리케이션 개발을 가능하게 해주는 유용한 언어입니다.

 

4. PHP는 어떤 기능을 제공하지?
 

PHP는 다음과 같은 주요 기능들을 제공합니다:
 
  • A. 데이터베이스 연동: PHP는 MySQL, PostgreSQL 등 다양한 데이터베이스와 쉽게 연동되어 데이터베이스 관리 및 조작을 가능하게 합니다.
     
  • B. 동적 컨텐츠 생성: 사용자의 요청에 따라 실시간으로 웹 페이지 컨텐츠를 생성하고 수정합니다.
     
  • C. 세션 관리: 사용자의 세션 정보를 관리하여 로그인 상태 유지 및 사용자별 컨텐츠 제공을 가능하게 합니다.
     
  • D. 폼 데이터 처리: 웹 폼을 통해 제출된 데이터를 수집, 검증 및 처리합니다.
     
  • E. 쿠키 관리: 사용자 브라우저에 쿠키를 설정하고 관리하여 사용자 경험을 개선합니다.
     
  • F. 파일 시스템 접근: 서버의 파일 시스템에 접근하여 파일을 읽고, 쓰고, 수정하고, 삭제할 수 있습니다.
     
  • G. 메일 전송 기능: PHP는 이메일 전송 기능을 내장하고 있어, 웹 애플리케이션에서 이메일 발송을 처리할 수 있습니다.


     

5. PHP를 어떻게 웹개발에 적용하지?
 

PHP를 웹 개발에 적용하는 방법은 다음과 같습니다:
 
 
  • 서버 설정: 웹 서버에 PHP를 설치하고 구성합니다. 대부분의 웹 호스팅 서비스는 이미 PHP를 지원합니다.
     
  • PHP 스크립트 작성: 웹 페이지에 PHP 코드를 삽입하여 스크립트를 작성합니다. 이 코드는 서버에서 실행되어 필요한 작업을 수행합니다.
     
  • HTML과의 통합: PHP 코드는 HTML 문서 내에 삽입되어 동적인 웹 페이지를 생성합니다. PHP는 HTML 태그 내에 직접 쓰이거나 별도의 PHP 파일로 분리되어 포함될 수 있습니다.
     
  • 데이터베이스 연동: PHP 스크립트를 사용하여 데이터베이스에 접근하고, 데이터를 조회, 삽입, 업데이트, 삭제하는 작업을 합니다.
     
  • 사용자 입력 처리: 폼을 통해 수집된 사용자 입력 데이터를 PHP로 처리하고 검증합니다.
     
  • 세션 및 쿠키 관리: 사용자 인증, 로그인 상태 유지, 개인화된 사용자 경험을 제공하기 위해 세션과 쿠키를 관리합니다.


     



6. PHP만으로 웹페이지(웹사이트)를 만들 수 있니?

 

PHP만으로 웹페이지 또는 웹사이트의 핵심 기능은 만들 수 있습니다.
PHP는 서버 측 스크립트 처리, 데이터베이스 연동, 사용자 입력 처리 등
웹 애플리케이션의 주요 기능을 구현할 수 있습니다.

그러나 PHP만으로는 클라이언트 측의 동적 상호작용이나 스타일링을 처리할 수 없습니다.

이를 위해서는 HTML과 CSS를 사용해 구조와 디자인을 만들고,
JavaScript를 사용하여 사용자 인터페이스의 동적인 요소를 추가하는 것이 일반적입니다.

따라서 완전하고 기능적인 웹사이트를 만들기 위해서는 PHP와 함께 HTML, CSS, 자바스크립트 등 다른 기술들을 함께 사용하는 것이 필요합니다.


 

7. PHP의 장담점은 뭐지?
 

PHP의 장단점:

 

  • 장점:
     
    1. 널리 사용되는 언어:
       
      PHP는 1990년대부터 사용되어 온 오래된 언어로, 시간이 지나면서 많은 웹사이트와 애플리케이션에서 사용되어 왔습니다.
      그 결과 현재 널리 쓰이는 인기 있는 언어가 되었습니다.

      또한 PHP는 거대한 개발자 커뮤니티를 보유하고 있으며, 온라인 포럼, 튜토리얼, 문서화된 자료가 풍부하여 개발자들이 문제 해결에 도움을 받기 쉽습니다.

      따라서 처음 프로그래머 입문 시 큰 도움을 받을 수 있습니다.

      그리고 PHP는 무료이기에, 누구나 쉽게 윈도우 및 리눅스에 설치하기 쉽고 사용하기 편리합니다. PHP는 Linux, Windows, macOS 등 다양한 운영 체제에서 사용될 수 있어, 개발 환경에 제한을 받지 않습니다.

       
    2. 데이터베이스 연동
      다양한 데이터베이스와의 연동이 용이하여, 복잡한 데이터베이스 기반 웹 애플리케이션을 손쉽게 개발할 수 있습니다. 연동 가능한 데이터베이스로는 MySQL, PostgreSQL, SQLite, Oracle, Microsoft SQL Server 등이 있으며 사실상 인지도 있는 대부분의 데이터베이스를 지원하기에 사용 상 이점이 큽니다.

       
    3. 개발 용이성:
      쉬운 문법과 접근성으로 인해 학습하기가 비교적 편합니다.
      그래서 처음 학습하는 언어로서 상당한 이점이 있습니다.

      저 역시 처음에는 PHP로 공부하였고 PHP를 어느 정도 익힌 후, JSP, 닷넷 등을 배우게 되었습니다.

      일단 PHP에 익숙해지면 다른 언어로 확장하는 것은 그리 어렵지 않습니다.

      처음부터 어려운 관문에 들어가는 것보다 PHP를 먼저 익힌다면 효율적으로 코딩을 배울 수 있습니다.

       
    4. 빠른 개발이 가능:
      PHP는 타 언어에 비해 코딩 속도가 빠릅니다.
      쓰는 방법이 간편하며 엄격한 규칙이 적용되지 않기에 신속히 개발이 가능합니다.
      아울러 완벽한 성능 최적화가 아니더라도, 기본적으로 PHP 자체 시스템에서
      성능 커버를 어느 정도 해줍니다.

      동일한 기능 구현 시, JSP 및 닷넷에 비해 체감상 2, 3배 빠른 개발 속도를 보입니다.

      이것만으로도 상당한 이점이 되죠.
      아울러 컴파일을 거치지 않고 즉시 구동되므로 코딩 후 결과를 보기까지의 시간이 짧습니다.
      그 말은 동일 시간에 많은 일을 하고 또 테스트할 수 있다는 말이죠.
      이런 여러 가지 점으로 매우 매력적인 언어입니다.

       
    5. 오픈 소스:
       
      무료이며 오픈 소스로, 다양한 운영 체제에서 사용 가능합니다.

       
  • 단점:
     
    1. 보안 문제:
       
      PHP는 느슨한 시스템으로 인해 빠른 개발 속도를 보이지만, 개발자가 부주의했을 때 보안 문제를 일으키기도 합니다.
      사실 PHP가 보안 문제를 보이는 주요 원인은 개발자의 인식 문제이자. 
      제대로 된 개발을 하지 못했기 때문입니다.
      따라서, 많은 경우 보안 취약점의 주된 책임은 개발자들에게 있죠.
      그럼에도 PHP의 느슨한 시스템이 개발 편의성이라는 장점 외에 개발 부주의를 부추길 수 있는 것도 사실입니다.
      (저는 보안 문제를 다르게 얘기하고 싶지만.. 일반적으로 사람들은 PHP를 보안에 약하다고 보는 견해가 있습니다)

       
    2. 성능 문제:
       
      대규모 애플리케이션에서는 다른 언어에 비해 성능이 떨어질 수 있습니다.
      그렇지만 비약적인 성능 하락이 아니라, 잘 짜여진 타 언어 시스템에 비해 느릴 수 있다는 상대 평가입니다.
      한편 타 언어 시스템에서 최적으로 코딩하지 못한 경우, 오히려 PHP 시스템보다 성능이 더 떨어지는 경우도 허다합니다. (이런 경우를 정말 많이 봤음)
      단, PHP로 최선의 코드를 작성하였다고 가정하고, 또 타 언어로 최선의 코드를 작성하였다고 가정할 경우 PHP가 더 느립니다 (컴파일 언어와 스크립트 언어의 차이)

       
    3. 현대적이지 않은 구조:
      최신 프로그래밍 패러다임과 기술에 비해 구조적으로 뒤떨어질 수 있으며, 현대적인 웹 개발 트렌드에 뒤처질 수 있습니다.
      물론 PHP에서도 최신 패러다임을 지원하지만 구 버전에서의 구조를 그대로 유지하는 개발자들의 경향으로 인해 웹 개발 트렌드에 뒤처지는 경우가 많습니다.


       



8. PHP를 어떻게 배울 수 있지?


 

  • 온라인 웹사이트: 웹사이트들이 제공하는 무료 또는 유료 PHP 강좌가 있습니다. 예를 들어, Codecademy, Udemy, Coursera 등이 있고, 국내에도 다양한 개발자들이 무료 웹사이트를 제공하고 있습니다.
     
  • 공식 PHP 문서: PHP 공식 웹사이트에 있는 문서는 기초부터 고급 주제까지 다양한 정보를 제공합니다.
     
  • 인강 사이트: 유튜브 등에서 많은 PHP 강의 영상이 제공되고 있으며, 기초부터 고급까지 아울러 프로젝트에 이르기까지 다양한 영상이 제공되고 있습니다.
     
  • 책과 전자책: PHP에 관한 다양한 책과 전자책이 있어, 기본 개념부터 심화 주제까지 학습할 수 있습니다. 타 언어에 비해 더 많은 서적 자료를 찾을 수 있습니다.
     
  • 온라인 포럼 및 커뮤니티: Stack Overflow, GitHub, Reddit, PHP 스쿨, 네이버 지식IN 등의 PHP 커뮤니티에 질문을 하고 다른 개발자들의 코드를 참조할 수 있습니다.

     

9. PHP는 배우기 어렵니?
 

PHP는 풍부한 온라인 자료와 커뮤니티 지원이 있어 독학이 용이합니다.
PHP의 문법은 다른 인기 있는 프로그래밍 언어와 유사하여 익히기 쉽습니다.
또한 웹 개발에 적용해볼 수 있는 자료 및 실습 기회가 많습니다.
전반적으로, PHP는 기초적인 프로그래밍 개념에 익숙하지 않은 초보자에게는 도전적일 수 있지만,
다른 프로그래밍 언어에 비해 배우기 쉬운 편에 속합니다.

 
트위터, 페이스북 공유 부탁드립니다~!
트위터   페이스북


  • 패스워드
           
X