본문 바로가기

디지털노마드/PHP 강좌

PHP 기초 익히기

 

PHP는 서버사이드 언어 입니다. 서버사이드 언어는 웹사이트에서 보낸 신호를 받아 서버에서 처리해주는 언어라고 할 수 있습니다. 서버사이드 언어 중 ASP도 유명하지만, 요즘은 파이턴을 사용하는 곳이 늘어나고 있습니다. 

하지만, 현재까지 거의 70%이상의 서버들이 PHP를 사용하고 있기때문에 공부해두면 아주 유용한 언어입니다. 또한, 언어의 유사성 때문에 하나의 언어를 마스터 하면 다른 언어도 쉽게 접근 할 수 있습니다.  

 

HTTP

HTTP (하이퍼 텍스트 전송 프로토콜)는 클라이언트-서버 프로토콜입니다. 문서 요청은 사용자 에이전트 (예 : 웹 브라우저, 검색 엔진, 스크린 리더 등)로 알려진 엔티티에 의해 이루어집니다. 각 개별 요청은 응답을 제공하는 서버로 전송됩니다. 클라이언트와 서버 사이에는 집합 적으로 프록시라고하는 수많은 엔티티가 있으며,이 엔티티는 서로 다른 작업을 수행하고 게이트웨이 또는 캐시 역할을합니다.

 

HTTP에서의 클라이언트-서버 상호 작용의 기본 순서 :

 

User-agent가 요청합니다 (예 : 'show me the bcit.ca homepage')

 

요청은 결국 HTTP 서버에 도착할 때까지 프록시라고하는 연결된 여러 컴퓨터를 통해 중계됩니다. (예: http://google.com)

HTTP 서버는 요청 된 페이지에 필요한 모든 관련 리소스 (예 : HTML, CSS, 스크립트, 이미지, 비디오, 사운드 파일 등)의 사본을 포함하여 응답을 제공합니다. 응답은 결국 사용자 에이전트에 도착할 때까지 여러 프록시를 통해 중계됩니다. 예 : (웹 브라우저)

웹 브라우저에 응답이 도착하면 컨텐츠가 뷰포트에 렌더링 (표시)됩니다.

 

일반적인 HTTP 웹 서버는 오픈 소스 Apache 프로젝트이지만 서버를 선택할 때 많은 옵션이 있습니다.

  • Apache 
  • NGINX
  • IIS
  • 신탁
  • IBM

온라인으로 검색하면 수백 가지가 있습니다!

 

서버 측 스크립팅

 

서버 측 스크립팅은 HTTP 서버에서 발생합니다. 요청시 서버 측 스크립트가 동적으로 호출되며 웹 브라우저 클라이언트에 응답을 제공하기 전에 모든 지시 사항이 서버에서 처리됩니다.

 

1. 사용자 에이전트가 요청합니다 (예 : 'show me the bcit.ca homepage'). 이 요청은 서버에 도착할 때까지 평상시처럼 HTTP 프로토콜을 통과합니다.

2. 요청 된 파일이 서버 측 스크립트 (예 : .html 문서가 아닌 .php) 인 경우 HTTP 서버는 파일을 위에서 아래로 구문 분석하고 표시되는 모든 스크립트 명령을 순서대로 실행합니다.

3. HTTP 서버가 모든 서버 측 스크립트 명령어 구문 분석을 완료하면 클라이언트에 응답을 보냅니다 (예 : HTML, CSS, 클라이언트 측 자바 스크립트, 이미지, 비디오, 사운드 파일 등).

클라이언트 VS 서버 기술

클라이언트 컴퓨터와 서버 컴퓨터가 수행하는 역할을 구분하십시오.

클라이언트 쪽 (웹 브라우저는 코드 실행을 담당하므로 소스 코드의 복사본을 받아야합니다) :

  • HTML
  • CSS
  • 자바 스크립트
  • 이미지, 사운드, 비디오

서버 측 (서버는 코드 실행을 담당하므로 소스 코드는 클라이언트로 전송되지 않습니다) :

  • 스크립트 (PHP, Perl, Python 등)
  • 데이터베이스 (MySQL, DB2, Oracle 등)

웹 브라우저는 서버 측 스크립팅 언어를 직접 이해할 수 없습니다.

클라이언트 웹 브라우저는 서버 측 스크립트 소스 코드의 사본을받지 않습니다.

웹 브라우저 클라이언트 요청에 대한 응답은 HTML, CSS, Javascript 등의 일반적인 소스 코드로 구성됩니다.

서버 측 스크립트에 의해 생성 된 모든 출력은 체계적이고 의미적이고 스타일이 좋은 HTML에 대한 모범 사례를 구현해야합니다.

 

서버 측 스크립팅

스크립팅

HTTP 서버는 다양한 스크립팅 언어를 처리하여 웹 개발자에게 다양한 기능을 제공 할 수 있습니다.

  • form processing

  • dynamic content

  • cookie management (store/retrieve data with the client browser)

  • session handling (tracking user behavior, shopping crats, logins)

  • file processing

  • database interactivity

  • content management systems (CMS)

선택할 수있는 몇 가지 스크립팅 언어가 있습니다. 일반적으로, 그들은 모두 동등하게 능력이 있습니다. 다른 사람으로는 할 수없는 일이있는 경우는 드 rare니다. 스크립팅 언어를 선택하는 것은 종종 개발자 선호, 라이센스 부여 또는 특정 언어 고유의 특정 효율성 활용의 문제입니다.

... 많은, 더 많은 것을 선택할 수 있습니다!

 

PHP

PHP는 현재 세계에서 가장 인기있는 웹 스크립팅 언어 중 하나입니다.

원래 "개인 홈페이지"도구라고 함

Rasmus Lerdorf가 작성하여 1995 년 6 월에 출시

통역사가 PHP 스크립트를 처리하고 결과를 클라이언트에게 다시 전달

Perl은 독립형 스크립팅 언어 (즉, 별도의 Perl 프로그램이 생성됨)이고 PHP는 HTML에 바로 내장 될 수있는 서버 측 스크립팅 언어입니다

문법은 C, Java 및 Perl 비트와 같은 몇 가지 인기있는 언어에서 영감을 얻어 좋은 PHP 측정법을 추가합니다.

"언어의 목표는 웹 개발자가 동적으로 생성 된 페이지를 빠르게 작성할 수 있도록하는 것입니다." (http://www.php.net/)

 

장점 :

구현하기 쉽고 배우기 쉽고 사용하기 쉽습니다.

현재 사용 가능한 거의 모든 플랫폼의 거의 모든 웹 서버에서 실행

오픈 소스 / 무료

효율적인 MySQL 데이터베이스 트랜잭션에 최적화

PHP 사용은 최신 웹 응용 프로그램에 일반적으로 사용되는 선택입니다 (많은 온라인 쇼핑 카트, 주요 CMS 등은 PHP 기반입니다)

 

Session01 | Apache PHP 및 MySQL 설치

PHP 스크립트를 작성하고 테스트하려면 HTTP 서버, PHP 서버 모듈 및 MySQL 데이터베이스와 같은 적절한 소프트웨어가 설치 및 구성되어 있어야합니다.

 

맥 OS

MAMP 설치 프로그램 다운로드

기본 설정을 수락하여 설치 관리자를 실행하십시오.

설치 후 서버를 시작합니다. Applications 폴더 (회색 코끼리 아이콘)에서 MAMP 앱을 찾아서 실행합니다. 참고 : MAMP와 함께 제공되는 MAMP PRO를 사용하지 마십시오

루트 디렉토리를 찾으십시오. Applications / MAMP / htdocs 서버 루트입니다. 모든 스크립트는 여기 또는 하위 디렉토리에 있어야합니다.

이후 세션에서 MySQL 설치를 보호합니다

웹 브라우저를 사용하여 서버에서 요청하십시오. http : // localhost : 8888

브라우저에 빈 'Index Of'페이지가 표시되어야합니다.

 

윈도우 OS

WAMP 설치 프로그램 다운로드

기본 설정을 수락하여 설치 관리자를 실행하십시오.

설치 후 서버를 시작하십시오. 바탕 화면에서 분홍색 'W'아이콘을 두 번 클릭하십시오.

루트 디렉토리를 찾으십시오. C : / wamp64 / www / 서버 루트입니다. 모든 스크립트는 여기 또는 하위 디렉토리에 있어야합니다.

이후 세션에서 MySQL 설치를 보호합니다

웹 브라우저를 사용하여 서버에서 요청하십시오. http : // localhost

브라우저는 WAMP에서 생성 한 기본 페이지를 표시해야합니다