호랑사과

[생활코딩] 웹어플리케이션 만들기 4일차 본문

작업실/웹프로그래밍

[생활코딩] 웹어플리케이션 만들기 4일차

호랑사과 2017. 6. 18. 12:39

이 글은 오픈튜토리얼스의 생활코딩의 '웹어플리케이션 만들기'를 듣고 개인적으로 정리한 내용입니다. 

굵은 글씨로 된 제목을 누르시면 해당 강좌로 이동할 수 있습니다.


PHP 대해

 

  웹서버, PHP, 데이터베이스는 해당에 맞는 소프트웨어를 설치하여 구현한다.


 웹브라우저 (예시 : http://a.com/a.php) -> 웹서버 -> PHP -> 데이터베이스

 

  PHP 구현은 body 태그 안에 <?php 내용 ?> 넣어 구현한다.

 

출처 : 생활코딩 (복습과 수업 예고)

 

  예를 들면 그림과 같이 PHP 데이터베이스에 topic이라는 table 불러오는 것을 요청하고 PHP 오른쪽의 html 리스트를 구현하게 한다.


PHP 환경 설정 변경

 

PHP 환경설정 (1)

 

  PHP 대해 공부하기에 앞서 다음과 같이 설정을 한다. 'C:\Bitnami\wampstack-5.6.30-5\php'로 들어가서 php라는 이름의 구성 설정 파일을 메모장으로 연다. Ctrl+F를 눌러 display_errors를 찾아서 다음과 같이 바꾼다. display_errors = Off default인데 이것을 On으로 바꿔준다. Off였던 이유는 보안과 관련하여 에러는 공격자에게는 해킹할 있는 일종의 힌트역할이 있기 때문이다.

 

PHP 환경설정 (2)

 

  다음은 opcache.enable 0으로 바꿔준다. 이것은 작성한 코드를 바로 반영시켜주도록 한다. 실제 운영할 때에는 변경했던 2가지 설정을 default 하여 실행하는 것이 성능면이나 보안에 좋다. Bitnami WAMP Stack Manage Servers에서 Apache Web Server Restart 하여 변경한 설정을 반영하게 한다.

 

JavaScript vs PHP

 

  HTML CSS 문서를 작성하기 위한 정적인 언어인 반면 JavaScript PHP 상황에 따라 작동하게 만드는 동적인 언어이다. 하나의 HTML 여러 정보들을 표현할 있는 방법이 PHP 하는 일이다. 마치 하나의 CSS 여러 HTML에서 사용되는 것과 같은 관계이다.

 

PHP 작성법과 웹브라우저 상의 소스코드

 

  <?php 내용 ~?> "내용" PHP 엔진을 사용하는 것을 나타낸다. echo 일종의 printf 같은 코드인데 스크린샷 처럼 PHP 작성한 문서를 크롬의 페이지 소스 보기로 보면 HTML형식으로 변환 것을 있다. 이와 같이 HTML 코드를 CSS처럼 여러 문서에 삽입할 있도록 해준다.


웹페이지에 코드 삽입하기

 

PHP와 JS의 예제

 

  JavaScript(이하 JS) <script> 태그를 이용하여 JS 사용한다는 것을 나타낸다. document.write(내용) printf 같은 코드이다. 페이지 소스보기를 하면 PHP 다르게 Atom에서 작성한 코드 그대로 나타내 주고 있다.

  이는 PHP 엔진, 인터프리터가 실행하여 나온 결과를 서버에 전달하고 웹브라우저에 전송하여 반영한다. 그렇기 때문에 웹브라우저는 결과만 받기 때문에 PHP 소스코드를 수가 없는 것이다. 반면에 JS 웹브라우저(클라이언트) 해석해서 반영하기 때문에 같은 결과가 나온 것이다.

 

데이터타입과 연산자


JS와 PHP의 연산자 예제

 

  PHP JS 차이점의 하나가 연산자에서 있는데 위와 같이 문자와 문자를 이어 붙이는데 JS '+' 쓰지만 PHP '.' 쓴다. PHP에서 '+' 숫자를 더한다는 기능밖에 없기 때문이다. 외의 사칙연산( +, -, *, /) 같다.

 

디버깅


  JS 디버깅은 크롬에서 '메뉴-도구 더 보기-자바스크립트 콘솔' 통해 오류를 보아 디버깅을 한다.

PHP 디버깅은 "C:\Bitnami\wampstack-5.6.30-3\apache2\logs"경로의 error.log 열어 마지막 줄을 통해 에러를 확인한다.

 

변수


JS와 PHP의 변수 예제


  JS 변수는 '변수명 = 초기화 ;' 형식으로 선언하지만 PHP 변수는 앞의 형식과 같으나 변수명 앞에 '$' 추가로 넣고 선언 해야 한다.

 

비교문


JS와 PHP의 비교문 예제

 

  비교 연산자는 언어 동일하게 (==, !=, >, <) 사용한다. 여기서 PHP에서 사용된 var_dump 데이터 타입과 값을 반환하는 함수이다. echo로는 비교연산자를 사용하기에는 부적합하다.


조건문

 

JS와 PHP의 조건문 예제

 

  조건문은 C언어에서 사용한 것과 같이 언어 모두 if(비교문) { } else { } 사용한다.