호랑사과
[생활코딩] 웹어플리케이션 만들기 4일차 본문
이 글은 오픈튜토리얼스의 생활코딩의 '웹어플리케이션 만들기'를 듣고 개인적으로 정리한 내용입니다.
굵은 글씨로 된 제목을 누르시면 해당 강좌로 이동할 수 있습니다.
웹서버, PHP, 데이터베이스는 해당에 맞는 소프트웨어를 설치하여 구현한다.
웹브라우저 (예시 : http://a.com/a.php) -> 웹서버 -> PHP -> 데이터베이스
PHP 구현은 body 태그 안에 <?php 내용 ?>을 넣어 구현한다.
출처 : 생활코딩 (복습과 수업 예고)
예를 들면 위 그림과 같이 PHP가 데이터베이스에 topic이라는 table을 불러오는 것을 요청하고 PHP가 맨 오른쪽의 html의 리스트를 구현하게 한다.
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를 하여 변경한 설정을 반영하게 한다.
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 { }를 사용한다.
'작업실 > 웹프로그래밍' 카테고리의 다른 글
[생활코딩] 웹어플리케이션 만들기 6일차 (0) | 2017.06.18 |
---|---|
[생활코딩] 웹어플리케이션 만들기 5일차 (0) | 2017.06.18 |
[생활코딩] 웹어플리케이션 만들기 3일차 (0) | 2017.06.18 |
[생활코딩] 웹어플리케이션 만들기 2일차 (0) | 2017.06.18 |
[생활코딩] 웹어플리케이션 만들기 1일차 (0) | 2017.06.18 |